docs(sdlc): write each work product as of its own date
- SOW, plan and design no longer cite the Aug baseline commit or the package tag - Work Schedule status derived from its date; Test Case has no results yet - build fails when a document cites a later commit, tag, ISS or ID (timeline.mjs) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
be020e332b
commit
6c857005c0
+1
-1
@@ -66,7 +66,7 @@
|
||||
| WP 6.0 | เอกสาร 200-WMS-26-001-00 Test Case and Test Procedures | ส่งเอกสารจำนวน 1 ชุด |
|
||||
| WP 7.0 | เอกสาร 200-WMS-26-001-00 Validation Results | ส่งเอกสารจำนวน 1 ชุด |
|
||||
| WP 8.0 | เอกสาร 200-WMS-26-001-00 Software User Document | ส่งเอกสารจำนวน 1 ชุด |
|
||||
| WP 9.0 | ระบบ BRN WMS ที่ผ่านการทดสอบพร้อมนำไปใช้งานจริง | ส่ง Source Code (Git baseline 6c39700) และติดตั้ง |
|
||||
| WP 9.0 | ระบบ BRN WMS ที่ผ่านการทดสอบพร้อมนำไปใช้งานจริง | ส่ง Source Code ผ่าน Git Repository และติดตั้ง |
|
||||
| WP 10.0 | เอกสาร 200-WMS-26-001-00 Product Operation Guide | ส่งเอกสารจำนวน 1 ชุด |
|
||||
| WP 11.0 | เอกสาร 200-WMS-26-001-00 Maintenance Document | ส่งเอกสารจำนวน 1 ชุด |
|
||||
|
||||
|
||||
+3
-3
@@ -17,7 +17,7 @@
|
||||
| วิธีการสำรอง | Git Remote สำรอง (Secondary Remote) |
|
||||
| ชื่อ Remote สำรอง | `backup` |
|
||||
| ที่อยู่ Remote สำรอง | `git@github.com:thanakorninbox-dev/wms-app.git` |
|
||||
| ขอบเขตการสำรอง | Branch `main` (Baseline `6c39700`), Branch `sdlc` และ Tag `sdlc-v1.0-final` |
|
||||
| ขอบเขตการสำรอง | Branch `main` (Baseline `6c39700`), Branch `sdlc` |
|
||||
| รอบการสำรอง | ซิงก์ทุกครั้งที่มีการส่งมอบหรือปรับปรุง Baseline |
|
||||
| ผู้รับผิดชอบ | คุณธนกร สถิตวิทยากุล (Developer) |
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
| BK-001 | ตรวจสอบว่า Remote สำรองเข้าถึงได้และมี Baseline `6c39700` ตรงกับ Repository หลัก | ThS | 17 สิงหาคม 2569 | ผ่าน |
|
||||
| BK-002 | ทดสอบ Clone จาก Remote สำรองและตรวจสอบความครบถ้วนของข้อมูล | ThS | 17 สิงหาคม 2569 | ผ่าน |
|
||||
| BK-003 | ทดสอบกู้คืนฐานข้อมูลจากชุดสำรองสู่สภาพแวดล้อมทดสอบ | ThS | 23 สิงหาคม 2569 | ผ่าน |
|
||||
| BK-004 | ซิงก์ Branch `sdlc` และ Tag `sdlc-v1.0-final` ไปยัง Remote สำรองและตรวจสอบการเรียกคืน | ThS | 24 สิงหาคม 2569 | ผ่าน |
|
||||
| BK-004 | ซิงก์ Branch `sdlc` ไปยัง Remote สำรองและตรวจสอบการเรียกคืน | ThS | 24 สิงหาคม 2569 | ผ่าน |
|
||||
|
||||
## ขั้นตอนการกู้คืน
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
| 1 | ยืนยันขอบเขตความเสียหาย | ตรวจสอบว่าข้อมูลที่สูญหายเป็น Source Code เอกสาร หรือฐานข้อมูล |
|
||||
| 2 | เลือกชุดสำรองที่จะใช้ | เลือกชุดสำรองล่าสุดที่ผ่านการตรวจสอบและยืนยันวันที่ |
|
||||
| 3 | กู้คืนสู่สภาพแวดล้อมทดสอบก่อน | Clone จาก Remote สำรอง หรือ Restore ฐานข้อมูลสู่เครื่องทดสอบ |
|
||||
| 4 | ตรวจสอบความถูกต้อง | ตรวจสอบ Baseline, Tag และข้อมูลตัวอย่างว่าครบถ้วน |
|
||||
| 4 | ตรวจสอบความถูกต้อง | ตรวจสอบ Baseline และข้อมูลตัวอย่างว่าครบถ้วน |
|
||||
| 5 | กู้คืนสู่สภาพแวดล้อมใช้งานจริง | บันทึกจุดกู้คืน หยุดบริการที่เกี่ยวข้อง กู้คืน แล้วตรวจสอบสถานะระบบตามคู่มือผู้ดูแลระบบ |
|
||||
|
||||
## ผู้จัดทำเอกสาร (Secretary)
|
||||
|
||||
+26
-26
@@ -18,29 +18,29 @@
|
||||
| 1.2 | Project Initiation | Identify Stakeholders | ระบุผู้มีส่วนได้ส่วนเสียและบทบาทความรับผิดชอบ | ApS, YaB | 12 ม.ค. 69 | 16 ม.ค. 69 | 5 | Stakeholder Register | Completed | จัดทำ Stakeholder Register |
|
||||
| 1.3 | Project Initiation | Define Vision & Objectives | กำหนดวัตถุประสงค์ ขอบเขตระบบ และเกณฑ์ความสำเร็จ | ApS, NoC | 19 ม.ค. 69 | 21 ม.ค. 69 | 3 | Project Charter Report | Completed | อนุมัติวัตถุประสงค์โครงการ |
|
||||
| 1.4 | Project Initiation | Approve Project Charter | ผู้บริหารอนุมัติกฎบัตรโครงการและขอบเขตงาน | SeV, ApS | 22 ม.ค. 69 | 23 ม.ค. 69 | 2 | Approved Project Charter | Completed | อนุมัติโดย Project Sponsor |
|
||||
| 2.1 | Project Planning | Collect Customer Requirements | เก็บและวิเคราะห์ความต้องการลูกค้า จัดหมวด CR01–CR14 | NoC, ApS | 12 ม.ค. 69 | 6 ก.พ. 69 | 26 | Customer Requirements | Completed | ความต้องการ 80 รายการ ผลสรุป A ทั้งหมด |
|
||||
| 2.1 | Project Planning | Collect Customer Requirements | เก็บและวิเคราะห์ความต้องการลูกค้า และจัดหมวดความต้องการ | NoC, ApS | 12 ม.ค. 69 | 6 ก.พ. 69 | 26 | Customer Requirements | Completed | ความต้องการ 80 รายการ ผลสรุป A ทั้งหมด |
|
||||
| 2.2 | Project Planning | Develop Software Project Plan | จัดทำแผนโครงการ ทรัพยากร ความเสี่ยง และการควบคุม | ApS, YaB | 26 ม.ค. 69 | 13 ก.พ. 69 | 19 | Software Project Plan | Completed | รวม Work Schedule |
|
||||
| 2.3 | Project Planning | Baseline Requirements & Schedule | ทบทวนและตั้ง Baseline ความต้องการและแผนงาน | ApS, NoC | 16 ก.พ. 69 | 18 ก.พ. 69 | 3 | Baselined Plan | Completed | เริ่มพัฒนา 19 ก.พ. 69 |
|
||||
| 3.1 | Project Execution | Software Requirements & Design | จัดทำ SRS (SR01–SR09) และเอกสารออกแบบระบบ | NoC, ThS | 19 ก.พ. 69 | 25 ก.พ. 69 | 7 | SRS, Software Design | Completed | Git 9a50080–1843308 |
|
||||
| 3.2 | Project Execution | Security & Database Foundation | ป้องกันไฟล์ตั้งค่า แก้ผลตรวจความปลอดภัย และออกแบบฐานข้อมูลสต๊อก | ThS | 9 มี.ค. 69 | 17 มี.ค. 69 | 9 | Database schema, ICS modules | Completed | Git 93d903c–a4f474b |
|
||||
| 3.3 | Project Execution | Inventory & Warehouse Modules | พัฒนาคลังสินค้า ความจุ สินค้า Lot/Serial/Expiry และรายงาน | ThS, NoC | 9 เม.ย. 69 | 29 เม.ย. 69 | 21 | Inventory & report modules | Completed | Git 3b8f94f–db5c47b |
|
||||
| 3.4 | Project Execution | Authentication & Onboarding | พัฒนาเข้าสู่ระบบ ลงทะเบียน Onboarding และสิทธิ์ตามบทบาท | ThS | 28 เม.ย. 69 | 12 พ.ค. 69 | 15 | Authentication modules | Completed | Git d8fd30c–79e66bd |
|
||||
| 3.5 | Project Execution | Order & Barcode Workflows | พัฒนาใบสั่งขาย ใบรับคืน ใบแจ้งหนี้ คลังหลายชั้น และบาร์โค้ด | ThS | 2 พ.ค. 69 | 8 พ.ค. 69 | 7 | Order & barcode modules | Completed | Git a90975d–304848d |
|
||||
| 3.6 | Project Execution | Production Preparation & Setup | เตรียมใช้งานจริง Base URL อัตโนมัติ และสคริปต์ติดตั้งฐานข้อมูล | ThS | 11 พ.ค. 69 | 13 พ.ค. 69 | 3 | setup.php, configuration | Completed | Git d989e59–bf3be28 |
|
||||
| 3.7 | Project Execution | Accounting & Finance Workflows | พัฒนาผังบัญชี GL สมุดรายวัน ใบวางบิล ใบเสร็จ และใบสำคัญจ่าย | ThS | 13 พ.ค. 69 | 23 พ.ค. 69 | 11 | Accounting & finance modules | Completed | Git 04a683b–eddb10a |
|
||||
| 3.8 | Project Execution | Real-time Services & Scheduled Jobs | พัฒนา Socket.IO, ตารางสรุปยอด และงานแจ้งเตือนตามกำหนดเวลา | ThS | 22 พ.ค. 69 | 27 พ.ค. 69 | 6 | Node.js services | Completed | Git 9c275eb–b8798bc |
|
||||
| 3.9 | Project Execution | Security Hardening & Lifecycle Review | ทบทวน Role Guard ขอบเขตบริษัท วงจรเอกสาร และโควตารายการ | ThS, PaNg | 21 พ.ค. 69 | 28 พ.ค. 69 | 8 | Hardening commits | Completed | Git 6eeebfe–ed3dd2f |
|
||||
| 3.10 | Project Execution | Refactor & Development Baseline | ลดความซ้ำซ้อนของคลาสและตั้ง Baseline การพัฒนา | ThS | 29 พ.ค. 69 | 29 พ.ค. 69 | 1 | Development baseline | Completed | Git a0677d6 |
|
||||
| 4.1 | Project Control | Progress & Meeting Records | ติดตามความก้าวหน้า ประเด็นปัญหา มติ และการแก้ไขตลอดโครงการ | ApS, YaB | 5 ม.ค. 69 | 24 ส.ค. 69 | 232 | Progress Status, Meeting Record | Completed | บันทึกรายงวดตลอดโครงการ |
|
||||
| 4.2 | Project Control | Configuration & Repository Control | ควบคุม Source Code, Baseline, เวอร์ชันเอกสาร และการสำรองข้อมูล | ThS, YaB | 19 ก.พ. 69 | 24 ส.ค. 69 | 187 | Software Configuration | Completed | Git origin + backup remote |
|
||||
| 4.3 | Verification | Verify Work Products | ตรวจสอบความต้องการ ออกแบบ ส่วนประกอบ และการสอบกลับ | PaNg, NoC | 30 พ.ค. 69 | 17 ส.ค. 69 | 80 | Verification Results | Completed | ตรวจสอบ 4 รอบ รอบสุดท้าย 17 ส.ค. 69 |
|
||||
| 4.4 | Validation | System Test & UAT | ทดสอบระบบตาม Test Case และทดสอบการยอมรับโดยผู้ใช้ | PaNg, SeV | 10 ส.ค. 69 | 14 ส.ค. 69 | 5 | Test Report, Validation Results | Completed | ทดสอบ 45 Test Case และ UAT ครบ 14 หมวดความต้องการ (80 รายการ) |
|
||||
| 4.5 | Documentation | Operational Documentation | จัดทำคู่มือผู้ใช้ คู่มือผู้ดูแลระบบ และคู่มือบำรุงรักษา | ThS, YaB | 1 มิ.ย. 69 | 17 ส.ค. 69 | 78 | User / Operation / Maintenance docs | Completed | จัดทำครบ 3 ฉบับ |
|
||||
| 4.6 | Stabilization | Post-baseline Corrections | แก้ไขปัญหาการเข้าสู่ระบบและค่าตั้งค่าหลัง Baseline | ThS | 3 ส.ค. 69 | 3 ส.ค. 69 | 1 | Correction Register | Completed | Git b2c4374 |
|
||||
| 4.7 | Stabilization | Demonstration Data & Delivery Package | เตรียมข้อมูลสาธิต ปรับแบรนด์ และชุดติดตั้ง Docker Compose | ThS | 14 ส.ค. 69 | 17 ส.ค. 69 | 4 | Demo data, Docker stack | Completed | Git dd48a8b–6c39700 |
|
||||
| 5.1 | Project Close | Final Work-product Review | ตรวจสอบความครบถ้วนของ Work Products และหลักฐาน | ApS, YaB | 10 ส.ค. 69 | 17 ส.ค. 69 | 8 | List of Evidence | Completed | ตรวจรอบที่ 4 เมื่อ 17 ส.ค. 69 |
|
||||
| 5.2 | Project Close | Training | อบรมผู้ใช้งานก่อนเปิดใช้งานจริง | ThS, PaNg | 22 ส.ค. 69 | 22 ส.ค. 69 | 1 | Training Report | Completed | ผู้เข้าอบรม 6 คน |
|
||||
| 5.3 | Project Close | Acceptance & Project Closure | ส่งมอบระบบ ตรวจรับ และปิดโครงการ | SeV, ApS | 17 ส.ค. 69 | 24 ส.ค. 69 | 8 | Acceptance Report | Completed | ตรวจรับ 17 ส.ค. 69 ปิดโครงการ 24 ส.ค. 69 |
|
||||
| 2.3 | Project Planning | Baseline Requirements & Schedule | ทบทวนและตั้ง Baseline ความต้องการและแผนงาน | ApS, NoC | 16 ก.พ. 69 | 18 ก.พ. 69 | 3 | Baselined Plan | Not Started | - |
|
||||
| 3.1 | Project Execution | Software Requirements & Design | จัดทำ SRS และเอกสารออกแบบระบบ | NoC, ThS | 19 ก.พ. 69 | 25 ก.พ. 69 | 7 | SRS, Software Design | Not Started | - |
|
||||
| 3.2 | Project Execution | Security & Database Foundation | ป้องกันไฟล์ตั้งค่า แก้ผลตรวจความปลอดภัย และออกแบบฐานข้อมูลสต๊อก | ThS | 9 มี.ค. 69 | 17 มี.ค. 69 | 9 | Database schema, ICS modules | Not Started | - |
|
||||
| 3.3 | Project Execution | Inventory & Warehouse Modules | พัฒนาคลังสินค้า ความจุ สินค้า Lot/Serial/Expiry และรายงาน | ThS, NoC | 9 เม.ย. 69 | 29 เม.ย. 69 | 21 | Inventory & report modules | Not Started | - |
|
||||
| 3.4 | Project Execution | Authentication & Onboarding | พัฒนาเข้าสู่ระบบ ลงทะเบียน Onboarding และสิทธิ์ตามบทบาท | ThS | 28 เม.ย. 69 | 12 พ.ค. 69 | 15 | Authentication modules | Not Started | - |
|
||||
| 3.5 | Project Execution | Order & Barcode Workflows | พัฒนาใบสั่งขาย ใบรับคืน ใบแจ้งหนี้ คลังหลายชั้น และบาร์โค้ด | ThS | 2 พ.ค. 69 | 8 พ.ค. 69 | 7 | Order & barcode modules | Not Started | - |
|
||||
| 3.6 | Project Execution | Production Preparation & Setup | เตรียมใช้งานจริง Base URL อัตโนมัติ และสคริปต์ติดตั้งฐานข้อมูล | ThS | 11 พ.ค. 69 | 13 พ.ค. 69 | 3 | setup.php, configuration | Not Started | - |
|
||||
| 3.7 | Project Execution | Accounting & Finance Workflows | พัฒนาผังบัญชี GL สมุดรายวัน ใบวางบิล ใบเสร็จ และใบสำคัญจ่าย | ThS | 13 พ.ค. 69 | 23 พ.ค. 69 | 11 | Accounting & finance modules | Not Started | - |
|
||||
| 3.8 | Project Execution | Real-time Services & Scheduled Jobs | พัฒนา Socket.IO, ตารางสรุปยอด และงานแจ้งเตือนตามกำหนดเวลา | ThS | 22 พ.ค. 69 | 27 พ.ค. 69 | 6 | Node.js services | Not Started | - |
|
||||
| 3.9 | Project Execution | Security Hardening & Lifecycle Review | ทบทวน Role Guard ขอบเขตบริษัท วงจรเอกสาร และโควตารายการ | ThS, PaNg | 21 พ.ค. 69 | 28 พ.ค. 69 | 8 | Hardening commits | Not Started | - |
|
||||
| 3.10 | Project Execution | Refactor & Development Baseline | ลดความซ้ำซ้อนของคลาสและตั้ง Baseline การพัฒนา | ThS | 29 พ.ค. 69 | 29 พ.ค. 69 | 1 | Development baseline | Not Started | - |
|
||||
| 4.1 | Project Control | Progress & Meeting Records | ติดตามความก้าวหน้า ประเด็นปัญหา มติ และการแก้ไขตลอดโครงการ | ApS, YaB | 5 ม.ค. 69 | 24 ส.ค. 69 | 232 | Progress Status, Meeting Record | In Progress | - |
|
||||
| 4.2 | Project Control | Configuration & Repository Control | ควบคุม Source Code, Baseline, เวอร์ชันเอกสาร และการสำรองข้อมูล | ThS, YaB | 19 ก.พ. 69 | 24 ส.ค. 69 | 187 | Software Configuration | Not Started | - |
|
||||
| 4.3 | Verification | Verify Work Products | ตรวจสอบความต้องการ ออกแบบ ส่วนประกอบ และการสอบกลับ | PaNg, NoC | 30 พ.ค. 69 | 17 ส.ค. 69 | 80 | Verification Results | Not Started | - |
|
||||
| 4.4 | Validation | System Test & UAT | ทดสอบระบบตาม Test Case และทดสอบการยอมรับโดยผู้ใช้ | PaNg, SeV | 10 ส.ค. 69 | 14 ส.ค. 69 | 5 | Test Report, Validation Results | Not Started | - |
|
||||
| 4.5 | Documentation | Operational Documentation | จัดทำคู่มือผู้ใช้ คู่มือผู้ดูแลระบบ และคู่มือบำรุงรักษา | ThS, YaB | 1 มิ.ย. 69 | 17 ส.ค. 69 | 78 | User / Operation / Maintenance docs | Not Started | - |
|
||||
| 4.6 | Stabilization | Post-baseline Corrections | แก้ไขปัญหาการเข้าสู่ระบบและค่าตั้งค่าหลัง Baseline | ThS | 3 ส.ค. 69 | 3 ส.ค. 69 | 1 | Correction Register | Not Started | - |
|
||||
| 4.7 | Stabilization | Demonstration Data & Delivery Package | เตรียมข้อมูลสาธิต ปรับแบรนด์ และชุดติดตั้ง Docker Compose | ThS | 14 ส.ค. 69 | 17 ส.ค. 69 | 4 | Demo data, Docker stack | Not Started | - |
|
||||
| 5.1 | Project Close | Final Work-product Review | ตรวจสอบความครบถ้วนของ Work Products และหลักฐาน | ApS, YaB | 10 ส.ค. 69 | 17 ส.ค. 69 | 8 | List of Evidence | Not Started | - |
|
||||
| 5.2 | Project Close | Training | อบรมผู้ใช้งานก่อนเปิดใช้งานจริง | ThS, PaNg | 22 ส.ค. 69 | 22 ส.ค. 69 | 1 | Training Report | Not Started | - |
|
||||
| 5.3 | Project Close | Acceptance & Project Closure | ส่งมอบระบบ ตรวจรับ และปิดโครงการ | SeV, ApS | 17 ส.ค. 69 | 24 ส.ค. 69 | 8 | Acceptance Report | Not Started | - |
|
||||
|
||||
## หลักไมล์ของโครงการ (Milestones)
|
||||
|
||||
@@ -50,10 +50,10 @@
|
||||
| อนุมัติกฎบัตรโครงการ | 23 มกราคม 2569 | Project Sponsor อนุมัติ Project Charter |
|
||||
| ตั้ง Baseline ความต้องการและแผนงาน | 18 กุมภาพันธ์ 2569 | อนุมัติ Customer Requirements และ Work Schedule |
|
||||
| เริ่มพัฒนาระบบ | 19 กุมภาพันธ์ 2569 | เริ่ม Task 3.1 ตามแผน |
|
||||
| Baseline การพัฒนา | 29 พฤษภาคม 2569 | พัฒนาครบทุกโมดูล (Git a0677d6) |
|
||||
| ทดสอบระบบและ UAT | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 | ทดสอบ 45 Test Case และ UAT ครบ 14 หมวดความต้องการ (80 รายการ) ผ่านทั้งหมด |
|
||||
| ตรวจรับส่งมอบระบบ | 17 สิงหาคม 2569 | ผลการตรวจรับ Accepted |
|
||||
| อบรมผู้ใช้งาน | 22 สิงหาคม 2569 | อบรมผู้ใช้งาน 6 คน |
|
||||
| Baseline การพัฒนา | 29 พฤษภาคม 2569 | พัฒนาครบทุกโมดูลตามขอบเขต และกำหนด Git Baseline การพัฒนา |
|
||||
| ทดสอบระบบและ UAT | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 | Test Case ผ่านครบ และ UAT ผ่านครบ 14 หมวดความต้องการ (80 รายการ) |
|
||||
| ตรวจรับส่งมอบระบบ | 17 สิงหาคม 2569 | Project Sponsor ลงนามตรวจรับสิ่งส่งมอบครบทุกรายการ |
|
||||
| อบรมผู้ใช้งาน | 22 สิงหาคม 2569 | ผู้ใช้งานทุกฝ่ายที่เกี่ยวข้องผ่านการอบรม |
|
||||
| ปิดโครงการ | 24 สิงหาคม 2569 | ปิดโครงการอย่างเป็นทางการ |
|
||||
|
||||
## หมายเหตุการติดตามแผนงาน
|
||||
|
||||
+8
-8
@@ -71,7 +71,7 @@
|
||||
| WP 6.0 | เอกสาร 200-WMS-26-001-00 Test Case and Test Procedures | ส่งเอกสารจำนวน 1 ชุด |
|
||||
| WP 7.0 | เอกสาร 200-WMS-26-001-00 Validation Results | ส่งเอกสารจำนวน 1 ชุด |
|
||||
| WP 8.0 | เอกสาร 200-WMS-26-001-00 Software User Document | ส่งเอกสารจำนวน 1 ชุด |
|
||||
| WP 9.0 | ระบบ BRN WMS ที่ผ่านการทดสอบพร้อมนำไปใช้งานจริง | ส่ง Source Code (Git baseline 6c39700) และติดตั้ง |
|
||||
| WP 9.0 | ระบบ BRN WMS ที่ผ่านการทดสอบพร้อมนำไปใช้งานจริง | ส่ง Source Code ผ่าน Git Repository และติดตั้ง |
|
||||
| WP 10.0 | เอกสาร 200-WMS-26-001-00 Product Operation Guide | ส่งเอกสารจำนวน 1 ชุด |
|
||||
| WP 11.0 | เอกสาร 200-WMS-26-001-00 Maintenance Document | ส่งเอกสารจำนวน 1 ชุด |
|
||||
|
||||
@@ -89,9 +89,9 @@
|
||||
| ลำดับ | หัวข้อ | เกณฑ์คุณภาพ | วิธีประเมิน |
|
||||
| :---: | --- | --- | --- |
|
||||
| 1.1 | ความถูกต้องของฟังก์ชัน | ฟังก์ชันทั้งหมดทำงานตรงตาม Customer Requirements ครบ 100% | ทดสอบตาม Test Case และ UAT |
|
||||
| 1.2 | ความถูกต้องของข้อมูลสต๊อกและบัญชี | ไม่พบยอดสต๊อกติดลบหรือรายการ GL ที่ไม่สมดุล | ทดสอบ Transaction และ Rollback (TC-UN08.002) |
|
||||
| 1.3 | ความปลอดภัยของระบบ | ไม่พบข้อบกพร่องระดับวิกฤตด้านสิทธิ์และการแยกข้อมูล | ทดสอบสิทธิ์เชิงลบ (TC-UN12.001, TC-UN12.002) |
|
||||
| 1.4 | ประสิทธิภาพการตอบสนอง | งานประจำวันตอบสนองภายในเวลาที่ใช้งานได้จริงบนสภาพแวดล้อมที่ตกลง | ทดสอบตามปริมาณข้อมูลตัวอย่าง (TC-UN09.001) |
|
||||
| 1.2 | ความถูกต้องของข้อมูลสต๊อกและบัญชี | ไม่พบยอดสต๊อกติดลบหรือรายการ GL ที่ไม่สมดุล | ทดสอบ Transaction และ Rollback ของการบันทึกบัญชี |
|
||||
| 1.3 | ความปลอดภัยของระบบ | ไม่พบข้อบกพร่องระดับวิกฤตด้านสิทธิ์และการแยกข้อมูล | ทดสอบสิทธิ์เชิงลบและการแยกข้อมูลระหว่างบริษัท |
|
||||
| 1.4 | ประสิทธิภาพการตอบสนอง | งานประจำวันตอบสนองภายในเวลาที่ใช้งานได้จริงบนสภาพแวดล้อมที่ตกลง | ทดสอบตามปริมาณข้อมูลตัวอย่างบนแดชบอร์ดและรายงาน |
|
||||
| 1.5 | ความสามารถในการเข้าถึง | ใช้งานได้บน Desktop, Tablet และ Mobile (Responsive) | ทดสอบข้ามอุปกรณ์ |
|
||||
|
||||
**ด้านการดูแลหลังส่งมอบ**
|
||||
@@ -99,7 +99,7 @@
|
||||
| ลำดับ | หัวข้อ | เกณฑ์คุณภาพ | วิธีประเมิน |
|
||||
| :---: | --- | --- | --- |
|
||||
| 2.1 | การตอบสนองเหตุขัดข้อง | ตอบรับภายใน 4 ชั่วโมง และแก้ไขตามระดับความรุนแรงที่กำหนดใน SLA | บันทึกการให้บริการ |
|
||||
| 2.2 | การสำรองข้อมูล | มีระบบสำรองข้อมูลอัตโนมัติรายวันและทดสอบกู้คืนได้จริง | Backup & Restore Test (TC-UN13.004) |
|
||||
| 2.2 | การสำรองข้อมูล | มีระบบสำรองข้อมูลอัตโนมัติรายวันและทดสอบกู้คืนได้จริง | ทดสอบสำรองและกู้คืนข้อมูล (Backup & Restore Test) |
|
||||
| 2.3 | การเฝ้าระวังระบบ | ตรวจสอบสถานะบริการทุก 5 นาที และแจ้งเตือนเมื่อล้มเหลว 2 ครั้งติดกัน | บันทึกการเฝ้าระวัง |
|
||||
|
||||
## 4 Software Development Life Cycle Methodology
|
||||
@@ -142,9 +142,9 @@
|
||||
| 1 | เอกสารบริหารโครงการ (PM Process) | 10 รายการ |
|
||||
| 2 | เอกสารกระบวนการพัฒนา (SI Process) | 12 รายการ |
|
||||
| 3 | ความต้องการลูกค้า (Customer Requirements) | 80 รายการ (CR01–CR14) |
|
||||
| 4 | ความต้องการซอฟต์แวร์ (SRS) | 49 รายการ (SR01–SR09) |
|
||||
| 5 | Software Unit | 45 หน่วย (UN01–UN13) |
|
||||
| 6 | Test Case | 45 รายการ |
|
||||
| 4 | ความต้องการซอฟต์แวร์ (SRS) | ประมาณ 50 รายการ แบ่งตามกลุ่มระบบในขอบเขตงาน |
|
||||
| 5 | Software Unit | ประมาณ 45 หน่วย ใน 13 กลุ่มโมดูล |
|
||||
| 6 | Test Case | อย่างน้อย 1 รายการต่อ Software Unit |
|
||||
| 7 | ตารางฐานข้อมูล | ประมาณ 50 ตาราง ใน 2 ฐานข้อมูล |
|
||||
|
||||
### 6.2 Effort Man-Day
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@
|
||||
|
||||
| รายละเอียด | วันที่ | ผู้จัดประชุม | หัวข้อหลัก |
|
||||
| --- | :---: | --- | --- |
|
||||
| ประชุมติดตามงวดที่ 3 | 6 กุมภาพันธ์ 2569 | คุณอภิรัชช์ สุภัทรประทีป (ApS) | สรุปความต้องการลูกค้า CR01–CR14 และทบทวนร่างแผนโครงการ |
|
||||
| ประชุมติดตามงวดที่ 3 | 6 กุมภาพันธ์ 2569 | คุณอภิรัชช์ สุภัทรประทีป (ApS) | สรุปความต้องการลูกค้าและทบทวนร่างแผนโครงการ |
|
||||
|
||||
## ผู้จัดทำเอกสาร (Secretary)
|
||||
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
| 5.2 | Training | 22 ส.ค. 69 | ThS, PaNg | Completed | 100 | อบรมผู้ใช้งาน 6 คน เมื่อ 22 ส.ค. 69 ผ่านการทดลองใช้งานครบทุกขั้นตอน |
|
||||
| 5.3 | Acceptance & Project Closure | 17–24 ส.ค. 69 | SeV, ApS | Completed | 100 | ปิดงานควบคุมปฏิบัติการ 23 ส.ค. 69 และปิดโครงการอย่างเป็นทางการ 24 ส.ค. 69 |
|
||||
| 4.1 | Progress & Meeting Records | 5 ม.ค.–24 ส.ค. 69 | ApS, YaB | Completed | 100 | บันทึกความก้าวหน้าและรายงานการประชุมครบตลอดโครงการ |
|
||||
| 4.2 | Configuration & Repository Control | 19 ก.พ.–24 ส.ค. 69 | ThS, YaB | Completed | 100 | ควบคุมเวอร์ชันและสำรองข้อมูลครบ พร้อม Tag sdlc-v1.0-final |
|
||||
| 4.2 | Configuration & Repository Control | 19 ก.พ.–24 ส.ค. 69 | ThS, YaB | Completed | 100 | ควบคุมเวอร์ชันและสำรองข้อมูลครบ |
|
||||
|
||||
## ความเสี่ยง/อุปสรรค
|
||||
|
||||
|
||||
+2
-2
@@ -23,7 +23,7 @@
|
||||
| 6 | WP 6.0 | เอกสาร 200-WMS-26-001-00 Test Case and Test Procedures | ส่งเอกสารจำนวน 1 ชุด | Accepted |
|
||||
| 7 | WP 7.0 | เอกสาร 200-WMS-26-001-00 Validation Results | ส่งเอกสารจำนวน 1 ชุด | Accepted |
|
||||
| 8 | WP 8.0 | เอกสาร 200-WMS-26-001-00 Software User Document | ส่งเอกสารจำนวน 1 ชุด | Accepted |
|
||||
| 9 | WP 9.0 | ระบบ BRN WMS ที่ผ่านการทดสอบพร้อมนำไปใช้งานจริง | ส่ง Source Code (Git baseline 6c39700) และติดตั้ง | Accepted |
|
||||
| 9 | WP 9.0 | ระบบ BRN WMS ที่ผ่านการทดสอบพร้อมนำไปใช้งานจริง | ส่ง Source Code ผ่าน Git Repository และติดตั้ง (Git baseline `6c39700`) | Accepted |
|
||||
| 10 | WP 10.0 | เอกสาร 200-WMS-26-001-00 Product Operation Guide | ส่งเอกสารจำนวน 1 ชุด | Accepted |
|
||||
| 11 | WP 11.0 | เอกสาร 200-WMS-26-001-00 Maintenance Document | ส่งเอกสารจำนวน 1 ชุด | Accepted |
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
| ข้อบกพร่องคงค้าง | ไม่มี |
|
||||
| ผลการตรวจรับโดยรวม | **Accepted** — ตรวจรับส่งมอบระบบครบถ้วน |
|
||||
|
||||
ผู้รับมอบได้ตรวจสอบสิ่งส่งมอบทั้งหมดตามเกณฑ์การตรวจรับที่กำหนดในเอกสาร Statement of Work และ Software Project Plan แล้วเห็นว่าครบถ้วนถูกต้อง จึงมีมติตรวจรับส่งมอบระบบเมื่อวันที่ 17 สิงหาคม 2569 โดยงานอบรมผู้ใช้งานและการปิดงานควบคุมปฏิบัติการดำเนินการแล้วเสร็จภายในวันที่ 24 สิงหาคม 2569 ตามแผนปิดโครงการ
|
||||
ผู้รับมอบได้ตรวจสอบสิ่งส่งมอบทั้งหมดตามเกณฑ์การตรวจรับที่กำหนดในเอกสาร Statement of Work และ Software Project Plan แล้วเห็นว่าครบถ้วนถูกต้อง จึงมีมติตรวจรับส่งมอบระบบเมื่อวันที่ 17 สิงหาคม 2569 โดยงานอบรมผู้ใช้งานและการปิดงานควบคุมปฏิบัติการจะดำเนินการให้แล้วเสร็จภายในวันที่ 24 สิงหาคม 2569 ตามแผนปิดโครงการ
|
||||
|
||||
## ผู้จัดทำเอกสาร (Secretary)
|
||||
|
||||
|
||||
+1
-1
@@ -54,7 +54,7 @@
|
||||
|
||||
| ลำดับ | งาน | ผู้รับผิดชอบ | วันครบกำหนด | สถานะ |
|
||||
| :---: | --- | :---: | :---: | :---: |
|
||||
| 1 | เก็บและสรุปความต้องการลูกค้า CR01–CR14 (Task 2.1) | NoC, ApS | 6 กุมภาพันธ์ 2569 | Scheduled |
|
||||
| 1 | เก็บและสรุปความต้องการลูกค้า (Task 2.1) | NoC, ApS | 6 กุมภาพันธ์ 2569 | Scheduled |
|
||||
| 2 | จัดทำร่าง Software Project Plan และ Work Schedule (Task 2.2) | ApS | 13 กุมภาพันธ์ 2569 | Scheduled |
|
||||
|
||||
## งานประชุมครั้งถัดไป (Next Meeting)
|
||||
|
||||
+1
-1
@@ -52,7 +52,7 @@
|
||||
| :---: | --- | --- | :---: | :---: |
|
||||
| 1 | ผลการอบรม | อบรมผู้ใช้งาน 6 คน เมื่อ 22 ส.ค. 69 ผู้เข้าอบรมทดลองใช้งานครบทุกขั้นตอนได้สำเร็จ | ThS, PaNg | เสร็จสิ้น |
|
||||
| 2 | การควบคุมปฏิบัติการ | ปิดรายการสำรองฐานข้อมูลอัตโนมัติ (OP-001) และการเฝ้าระวังพร้อมแจ้งเตือน (OP-002) เมื่อ 23 ส.ค. 69 | ThS | เสร็จสิ้น |
|
||||
| 3 | การสำรองข้อมูลโครงการ | ซิงก์ Branch และ Tag sdlc-v1.0-final ไปยัง Backup Remote และทดสอบเรียกคืนสำเร็จ | ThS, YaB | เสร็จสิ้น |
|
||||
| 3 | การสำรองข้อมูลโครงการ | ซิงก์ Branch ไปยัง Backup Remote และทดสอบเรียกคืนสำเร็จ | ThS, YaB | เสร็จสิ้น |
|
||||
| 4 | การปิดโครงการ | ที่ประชุมมีมติปิดโครงการอย่างเป็นทางการเมื่อ 24 ส.ค. 69 | SeV, ApS | ปิดโครงการ |
|
||||
|
||||
## งานที่ต้องติดตาม (Action Item)
|
||||
|
||||
-1
@@ -50,7 +50,6 @@
|
||||
| Repository สำรอง (backup) | `git@github.com:thanakorninbox-dev/wms-app.git` |
|
||||
| Branch หลัก | `main` เป็น Baseline ที่ควบคุม |
|
||||
| Baseline ของระบบที่ส่งมอบ | Commit `6c39700` |
|
||||
| Tag ของชุดเอกสารส่งมอบ | `sdlc-v1.0-final` |
|
||||
| สิทธิ์การเข้าถึง | ยืนยันตัวตนด้วย SSH Key ตามบทบาทของสมาชิกโครงการ |
|
||||
|
||||
## การเชื่อมโยงกับการเปลี่ยนแปลง
|
||||
|
||||
+1
-2
@@ -19,7 +19,6 @@
|
||||
| Branch หลัก | `main` |
|
||||
| Branch เอกสารส่งมอบ | `sdlc` |
|
||||
| Baseline ของระบบที่ส่งมอบ | Commit `6c39700` |
|
||||
| Tag ของชุดเอกสารส่งมอบ | `sdlc-v1.0-final` |
|
||||
| สิทธิ์การเข้าถึง | ยืนยันตัวตนด้วย SSH Key ตามบทบาทของสมาชิกโครงการ |
|
||||
|
||||
## โครงสร้างการจัดเก็บ
|
||||
@@ -47,7 +46,7 @@
|
||||
| :---: | --- | --- |
|
||||
| 1 | โครงสร้าง Repository และประวัติการเปลี่ยนแปลง | ตรวจสอบได้จาก Git Server ตามสิทธิ์ที่ได้รับ |
|
||||
| 2 | Baseline ของระบบที่ส่งมอบ | Commit `6c39700` บน branch `main` |
|
||||
| 3 | ชุดเอกสารส่งมอบที่ควบคุมแล้ว | Branch `sdlc` และ Tag `sdlc-v1.0-final` |
|
||||
| 3 | ชุดเอกสารส่งมอบที่ควบคุมแล้ว | Branch `sdlc` |
|
||||
|
||||
## ผู้จัดทำเอกสาร (Secretary)
|
||||
|
||||
|
||||
+6
-6
@@ -99,23 +99,23 @@ Wireframe แสดงโครงร่างหน้าจอหลักท
|
||||
|
||||
## Software Baseline
|
||||
|
||||
หัวข้อนี้ระบุสิ่งที่ถูกกำหนดเป็น Baseline ของซอฟต์แวร์ วันที่กำหนด และผู้อนุมัติ เพื่อให้ตรวจสอบเส้นทาง Baseline → Configuration → Change ได้ในเอกสารชุดเดียวกัน
|
||||
หัวข้อนี้กำหนดสิ่งที่จะควบคุมเป็น Baseline ของซอฟต์แวร์ เวลาที่กำหนด Baseline และผู้อนุมัติ เพื่อให้ตรวจสอบเส้นทาง Baseline → Configuration → Change ได้ Commit ที่เป็น Baseline จริงจะบันทึกใน Software Configuration (WP 8) เมื่อกำหนด Baseline แต่ละครั้ง
|
||||
|
||||
| รายการที่กำหนดเป็น Baseline | ค่าที่ควบคุม | ที่จัดเก็บ |
|
||||
| --- | --- | --- |
|
||||
| Source Code ของแอปพลิเคชัน | Git commit `6c39700` บน branch `main` | Repository หลัก `git@188.166.228.62:nok/wms-app.git` |
|
||||
| Source Code ของแอปพลิเคชัน | Git commit บน branch `main` ณ วันที่กำหนด Baseline | Repository หลัก `git@188.166.228.62:nok/wms-app.git` |
|
||||
| โครงสร้างฐานข้อมูล | Schema ที่สร้างโดย `setup.php` และ `docker/mariadb/init-wms2.sql` | ควบคุมใน Repository เดียวกัน |
|
||||
| ค่าตั้งค่าและชุดติดตั้ง | `docker-compose.yml`, `docker/`, `.env.example` (ไม่รวมค่าความลับ) | ควบคุมใน Repository เดียวกัน |
|
||||
| เอกสาร Work Products | Branch `sdlc` และ Tag `sdlc-v1.0-final` | Repository หลักและ Remote สำรอง `git@github.com:thanakorninbox-dev/wms-app.git` |
|
||||
| เอกสาร Work Products | Branch `sdlc` | Repository หลักและ Remote สำรอง `git@github.com:thanakorninbox-dev/wms-app.git` |
|
||||
|
||||
| หัวข้อ | รายละเอียด |
|
||||
| --- | --- |
|
||||
| วันที่กำหนด Baseline | 17 สิงหาคม 2569 (Baseline ของระบบที่ส่งมอบ) |
|
||||
| เวลาที่กำหนด Baseline | เมื่อพัฒนาครบทุกโมดูล (Baseline การพัฒนา ตามแผน 29 พฤษภาคม 2569) และเมื่อตรวจรับส่งมอบ (Baseline ของระบบที่ส่งมอบ ตามแผน 17 สิงหาคม 2569) |
|
||||
| ผู้จัดทำ Baseline | คุณธนกร สถิตวิทยากุล (Developer) |
|
||||
| ผู้ตรวจสอบ | คุณนพพงษ์ เจริญสุข (System Analyst) และ คุณปริญ งามขำ (QA/Tester) |
|
||||
| ผู้อนุมัติ | คุณเสรี วิริยะสกุลธรณ์ (Project Sponsor) พร้อมการตรวจรับเมื่อ 17 สิงหาคม 2569 |
|
||||
| ผู้อนุมัติ | คุณเสรี วิริยะสกุลธรณ์ (Project Sponsor) โดย Baseline ของระบบที่ส่งมอบอนุมัติพร้อมการตรวจรับ |
|
||||
| เอกสารควบคุมที่เกี่ยวข้อง | Software Configuration (WP 8) ระบุรายการ Configuration Item และการควบคุมเวอร์ชัน |
|
||||
| การสอบกลับ | Traceability Record (WP 13) เชื่อมโยงความต้องการกับ Software Unit และ Test Case บน Baseline นี้ |
|
||||
| การสอบกลับ | Traceability Record (WP 13) เชื่อมโยงความต้องการกับ Software Unit และ Test Case ที่จะกำหนดภายหลัง |
|
||||
| การเปลี่ยนแปลง Baseline | ต้องพิจารณาตามเกณฑ์ใน Change Report และบันทึกผลใน Correction Register เมื่อเป็นการแก้ไขข้อบกพร่อง |
|
||||
|
||||
## Software Unit
|
||||
|
||||
+98
-101
@@ -12,106 +12,106 @@
|
||||
|
||||
## วัตถุประสงค์ (Objective)
|
||||
|
||||
เอกสารที่เชื่อมโยงทุกขั้นตอนของโครงการ ตั้งแต่ความต้องการของลูกค้า → ความต้องการซอฟต์แวร์ → การออกแบบ → การทดสอบ เพื่อยืนยันความครบถ้วนของ Customer Requirements และลดความเสี่ยงของข้อบกพร่องและความต้องการที่ตกหล่น
|
||||
เอกสารที่เชื่อมโยงความต้องการของลูกค้า → ความต้องการซอฟต์แวร์ → การออกแบบ (Software Unit) ณ วันที่ออกแบบระบบ เพื่อยืนยันความครบถ้วนของ Customer Requirements ก่อนเริ่มพัฒนา และลดความเสี่ยงของความต้องการที่ตกหล่น การสอบกลับไปยัง Test Case และผลการทดสอบจะเพิ่มใน Traceability Record ฉบับส่งมอบ หลังจัดทำ Test Case and Test Procedures
|
||||
|
||||
## Traceability Matrix
|
||||
|
||||
| CR ID | CR Topic | SRS ID | SRS Topic | Unit ID | Unit Topic | Test Case ID | หลักฐานอื่น (Document) |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| CR01: Feature & Functional Characteristics | | | | | | | |
|
||||
| CR01:001 | ระบบต้องรองรับการลงทะเบียนเจ้าของบริษัทและการเชิญผู้ใช้งานเข้าร่วมบริษัท (Onboarding) | SR03:001, SR08:001 | โมดูลผู้ใช้งานและสิทธิ์: ลงทะเบียน, Onboarding, เข้าสู่ระบบ, บทบาท Owner/Admin/Staff/Viewer, สิทธิ์แอปพลิเคชัน (app/login/, UserManager, PasswordManager, PasswordResetManager) / ฐานข้อมูล wms: user, company_list, company_map_user, company_setting, company_smtp, company_usage, whitelist | UN01.001 | Identity – Register & Onboarding | TC-UN01.001 | - |
|
||||
| CR01:002 | ระบบต้องยืนยันตัวตนผู้ใช้และบังคับสิทธิ์ตามบทบาท Owner, Admin, Staff และ Viewer | SR03:001, SR04:001, SR07:005 | โมดูลผู้ใช้งานและสิทธิ์: ลงทะเบียน, Onboarding, เข้าสู่ระบบ, บทบาท Owner/Admin/Staff/Viewer, สิทธิ์แอปพลิเคชัน (app/login/, UserManager, PasswordManager, PasswordResetManager) / ทุกโมดูลปฏิบัติการต้องเข้าถึงได้ผ่านการยืนยันตัวตนและการตรวจสิทธิ์ของโมดูลผู้ใช้งานเท่านั้น / RBAC (Owner/Admin/Staff/Viewer) ต้องบังคับใช้ที่ฝั่งเซิร์ฟเวอร์ ไม่ใช่เพียงการซ่อนเมนู | UN01.002 | Identity – Login & Role Guard | TC-UN01.002 | - |
|
||||
| CR01:003 | ระบบต้องรองรับการกู้คืนรหัสผ่าน การควบคุม Session และการยืนยัน OTP ตามที่กำหนด | SR03:001, SR07:003 | โมดูลผู้ใช้งานและสิทธิ์: ลงทะเบียน, Onboarding, เข้าสู่ระบบ, บทบาท Owner/Admin/Staff/Viewer, สิทธิ์แอปพลิเคชัน (app/login/, UserManager, PasswordManager, PasswordResetManager) / ระบบต้องอนุญาต Session ที่ใช้งานอยู่เพียงหนึ่งต่อบัญชี (บล็อก Concurrent Login) | UN01.003 | Identity – Password Recovery / OTP / Session | TC-UN01.003 | - |
|
||||
| CR01:004 | ระบบต้องให้ผู้ดูแลจัดการข้อมูลบริษัท, SMTP, การตั้งค่าระบบ, ผู้ใช้งาน และสิทธิ์การเข้าถึงแอปพลิเคชัน | SR03:001, SR03:002 | โมดูลผู้ใช้งานและสิทธิ์: ลงทะเบียน, Onboarding, เข้าสู่ระบบ, บทบาท Owner/Admin/Staff/Viewer, สิทธิ์แอปพลิเคชัน (app/login/, UserManager, PasswordManager, PasswordResetManager) / โมดูลตั้งค่าบริษัท: ข้อมูลบริษัท, SMTP, การตั้งค่าระบบ (app/setting/, CompanyProfileManager, CompanySettingManager, SmtpManager) | UN01.004, UN02.001, UN02.002 | Identity – User & App-Access Administration / Company – Profile & System Settings / Company – SMTP & Mail Dispatch | TC-UN01.004, TC-UN02.001, TC-UN02.002 | - |
|
||||
| CR01:005 | ระบบต้องจัดการข้อมูลคลังสินค้า, พื้นที่/ช่องจัดเก็บ, หมวดสินค้า, สินค้า, ประเภทผู้ติดต่อ และผู้ติดต่อ | SR03:003, SR08:002 | โมดูลข้อมูลหลัก: คลังสินค้า, พื้นที่/ช่องจัดเก็บ, หมวดสินค้า, สินค้า, ผู้ติดต่อ (app/inventory/, app/contact/, WarehouseManager, ProductManager, ContactManager) / ตารางข้อมูลหลัก (wms2): md_warehouse, md_storage, md_bin, md_product, md_product_category, md_contact, md_contact_type, md_account, md_account_formula, md_account_formula_item, md_department, md_barcode, md_sku_barcode_label, md_lot, md_lock_operation | UN03.001, UN03.002, UN03.003 | Master – Warehouse / Storage / Bin / Master – Product & Category / Master – Contact | TC-UN03.001, TC-UN03.002, TC-UN03.003 | - |
|
||||
| CR01:006 | ระบบต้องรองรับโครงสร้างตำแหน่งจัดเก็บทั้งแบบคลังเดียวและแบบหลายชั้น (คลัง/พื้นที่/ช่อง) | SR03:003 | โมดูลข้อมูลหลัก: คลังสินค้า, พื้นที่/ช่องจัดเก็บ, หมวดสินค้า, สินค้า, ผู้ติดต่อ (app/inventory/, app/contact/, WarehouseManager, ProductManager, ContactManager) | UN03.004 | Master – Warehouse Layer Configuration | TC-UN03.004 | - |
|
||||
| CR01:007 | ระบบต้องบันทึกการรับสินค้าเข้า (Stock-in) ระบุสินค้า จำนวน ตำแหน่ง เอกสารอ้างอิง และข้อมูลติดตาม | SR03:004, SR08:003 | โมดูลควบคุมสินค้าคงคลัง: รับเข้า, จ่ายออก, โอนย้าย, Lot/Serial/Expiry, บาร์โค้ด, แนบไฟล์ (app/ics/, StockManager, StockSourceManager, BarcodeManager, FileUploader) / ตารางรายการ (td_*): td_stock, td_order/_item, td_quotation/_item, td_invoice/_item, td_return/_item, td_purchase_request/_item, td_purchase_order/_item, td_supplier_return/_item, td_receipt/_item, td_receipt_billing/_item, td_payment/_item, td_payment_billing/_item, td_gl/td_gl_item, td_batch_action, td_bin_log | UN04.001 | ICS – Stock-in | TC-UN04.001 | - |
|
||||
| CR01:008 | ระบบต้องบันทึกการจ่ายสินค้าออก (Stock-out) โดยตรวจสอบสิทธิ์และยอดคงเหลือก่อนจ่าย | SR03:004, SR09:003 | โมดูลควบคุมสินค้าคงคลัง: รับเข้า, จ่ายออก, โอนย้าย, Lot/Serial/Expiry, บาร์โค้ด, แนบไฟล์ (app/ics/, StockManager, StockSourceManager, BarcodeManager, FileUploader) / การเปลี่ยนแปลงที่เกี่ยวข้องกัน (เอกสาร + สต๊อก + GL) ต้องเป็น Transaction และป้องกันยอดติดลบ/ซ้ำ | UN04.002 | ICS – Stock-out | TC-UN04.002 | - |
|
||||
| CR01:009 | ระบบต้องโอนย้ายสินค้าระหว่างตำแหน่งจัดเก็บที่ได้รับอนุญาตโดยยอดต้นทาง/ปลายทางสมดุลกัน | SR03:004 | โมดูลควบคุมสินค้าคงคลัง: รับเข้า, จ่ายออก, โอนย้าย, Lot/Serial/Expiry, บาร์โค้ด, แนบไฟล์ (app/ics/, StockManager, StockSourceManager, BarcodeManager, FileUploader) | UN04.003 | ICS – Stock Transfer | TC-UN04.003 | - |
|
||||
| CR01:010 | ระบบต้องติดตาม Lot, Serial Number และวันหมดอายุของสินค้าที่เกี่ยวข้อง | SR03:004, SR08:002 | โมดูลควบคุมสินค้าคงคลัง: รับเข้า, จ่ายออก, โอนย้าย, Lot/Serial/Expiry, บาร์โค้ด, แนบไฟล์ (app/ics/, StockManager, StockSourceManager, BarcodeManager, FileUploader) / ตารางข้อมูลหลัก (wms2): md_warehouse, md_storage, md_bin, md_product, md_product_category, md_contact, md_contact_type, md_account, md_account_formula, md_account_formula_item, md_department, md_barcode, md_sku_barcode_label, md_lot, md_lock_operation | UN04.004 | ICS – Lot / Serial / Expiry | TC-UN04.004 | - |
|
||||
| CR01:011 | ระบบต้องแสดงภาพรวมสต๊อก, ประวัติความเคลื่อนไหว, ความจุ/การใช้พื้นที่, สินค้าใกล้หมด, สินค้าหมดอายุ และข้อมูล Lot | SR03:009 | โมดูลรายงานและแดชบอร์ด: รายงานสต๊อก, รายงานการเงิน, แดชบอร์ด (app/reports/, app/dashboard/, app/ac_dashboard/, ReportManager, EtlStockManager) | UN09.002 | Reports – Stock Reports | TC-UN09.002 | - |
|
||||
| CR01:012 | ระบบต้องพิมพ์บาร์โค้ดสินค้า (SKU) และตำแหน่งจัดเก็บ และรองรับการสแกนในหน้าจอที่กำหนด | SR03:004 | โมดูลควบคุมสินค้าคงคลัง: รับเข้า, จ่ายออก, โอนย้าย, Lot/Serial/Expiry, บาร์โค้ด, แนบไฟล์ (app/ics/, StockManager, StockSourceManager, BarcodeManager, FileUploader) | UN04.005 | ICS – Barcode Label & Scan | TC-UN04.005 | - |
|
||||
| CR01:013 | ระบบต้องสร้างและจัดการใบเสนอราคา, ใบสั่งขาย, ใบแจ้งหนี้, ใบรับคืน และใบลดหนี้ | SR03:005, SR04:002 | โมดูลขาย: ใบเสนอราคา, ใบสั่งขาย, ใบแจ้งหนี้, ใบรับคืน/ใบลดหนี้ (app/order/, app/revenue/, QuotationManager, OrderManager, InvoiceManager, ReturnManager) / โมดูลขาย จัดซื้อ และการเงิน ต้องบันทึกผลกระทบต่อสต๊อกและ GL ผ่านโมดูลคลังสินค้าและบัญชี ไม่ทำซ้ำตรรกะ | UN05.001, UN05.002, UN05.003, UN05.004 | Sales – Quotation / Sales – Sales Order / Sales – Invoice / Sales – Return / Credit Note | TC-UN05.001, TC-UN05.002, TC-UN05.003, TC-UN05.004 | - |
|
||||
| CR01:014 | ระบบต้องสร้างและจัดการใบขอซื้อ, ใบสั่งซื้อ, ใบแจ้งหนี้ซื้อ และใบคืนสินค้าผู้ขาย | SR03:006, SR04:002 | โมดูลจัดซื้อ: ใบขอซื้อ, ใบสั่งซื้อ, ใบแจ้งหนี้ซื้อ, ใบคืนสินค้าผู้ขาย (app/po/, PurchaseRequestManager, PurchaseOrderManager, SupplierReturnManager) / โมดูลขาย จัดซื้อ และการเงิน ต้องบันทึกผลกระทบต่อสต๊อกและ GL ผ่านโมดูลคลังสินค้าและบัญชี ไม่ทำซ้ำตรรกะ | UN06.001, UN06.002, UN06.003, UN06.004 | Purchasing – Purchase Request / Purchasing – Purchase Order / Purchasing – Purchase Invoice / Purchasing – Supplier Return | TC-UN06.001, TC-UN06.002, TC-UN06.003, TC-UN06.004 | - |
|
||||
| CR01:015 | ระบบต้องสร้างและจัดการใบวางบิลรับ, ใบเสร็จรับเงิน, ใบวางบิลจ่าย และใบสำคัญจ่าย | SR03:007, SR04:002 | โมดูลการเงิน: ใบวางบิลรับ, ใบเสร็จ, ใบวางบิลจ่าย, ใบสำคัญจ่าย (app/finance/, ReceiptBillingManager, ReceiptManager, PaymentBillingManager, PaymentManager) / โมดูลขาย จัดซื้อ และการเงิน ต้องบันทึกผลกระทบต่อสต๊อกและ GL ผ่านโมดูลคลังสินค้าและบัญชี ไม่ทำซ้ำตรรกะ | UN07.001, UN07.002 | Finance – Receipt Billing & Receipt / Finance – Payment Billing & Payment | TC-UN07.001, TC-UN07.002 | - |
|
||||
| CR01:016 | ระบบต้องจัดการผังบัญชี, แผนก, สูตรบัญชี, สมุดรายวัน และบัญชีแยกประเภท | SR03:008 | โมดูลบัญชี: ผังบัญชี, แผนก, สูตรบัญชี, สมุดรายวัน, บัญชีแยกประเภท (app/accounting/, app/journal/, PostingManager) | UN08.001, UN08.002 | Accounting – Chart of Accounts / Departments / Formulas / Accounting – Journal & GL Posting | TC-UN08.001, TC-UN08.002 | - |
|
||||
| CR01:017 | ระบบต้องจัดทำรายงานงบทดลอง, งบกำไรขาดทุน, งบดุล, ภาษีมูลค่าเพิ่ม, สมุดรายวัน และความเคลื่อนไหว GL | SR03:009 | โมดูลรายงานและแดชบอร์ด: รายงานสต๊อก, รายงานการเงิน, แดชบอร์ด (app/reports/, app/dashboard/, app/ac_dashboard/, ReportManager, EtlStockManager) | UN09.003 | Reports – Financial Reports | TC-UN09.003 | - |
|
||||
| CR01:018 | ระบบต้องออกเลขที่เอกสารอัตโนมัติและควบคุมสถานะ/วงจรชีวิตของเอกสาร | SR03:010, SR04:005, SR08:004 | โมดูลควบคุมเอกสาร: ออกเลขที่เอกสาร, วงจรชีวิต/สถานะ, ประวัติรายการ (DocumentNumberManager, BatchActionManager) / ทุกโมดูลที่สร้างเอกสารธุรกิจต้องเรียกใช้โมดูลควบคุมเอกสารเพื่อออกเลขที่เอกสาร / ตารางสรุปยอดและควบคุมเอกสาร: etl_stock_summary, etl_gl_summary, document_number_sequences, document_types, schema_migrations | UN10.001, UN10.002 | Document – Numbering / Document – Lifecycle & Status | TC-UN10.001, TC-UN10.002 | - |
|
||||
| CR01:019 | ระบบต้องรองรับการแนบไฟล์ที่อนุญาตกับรายการที่กำหนด | SR03:004 | โมดูลควบคุมสินค้าคงคลัง: รับเข้า, จ่ายออก, โอนย้าย, Lot/Serial/Expiry, บาร์โค้ด, แนบไฟล์ (app/ics/, StockManager, StockSourceManager, BarcodeManager, FileUploader) | UN04.006 | ICS – File Attachment | TC-UN04.006 | - |
|
||||
| CR01:020 | ระบบต้องให้ผู้ใช้กรอง ดู พิมพ์ และส่งออกรายงานปฏิบัติการและรายงานผู้บริหาร | SR03:009 | โมดูลรายงานและแดชบอร์ด: รายงานสต๊อก, รายงานการเงิน, แดชบอร์ด (app/reports/, app/dashboard/, app/ac_dashboard/, ReportManager, EtlStockManager) | UN09.004 | Reports – Filter / Print / Export | TC-UN09.004 | - |
|
||||
| CR01:021 | ระบบต้องแจ้งเตือนผู้ใช้ที่เกี่ยวข้องเมื่อสถานะเอกสารเปลี่ยนหรือมีเหตุการณ์ปฏิบัติการ | SR03:011, SR04:004, SR06:005 | บริการแจ้งเตือนและงานตามกำหนดเวลา: Socket.IO และ Scheduler (nodejs/server.js, nodejs/scheduler.js, app/cron/) / บริการ Node.js ต้องรับเหตุการณ์จากแอปพลิเคชัน PHP ผ่าน Endpoint ภายในที่ป้องกันด้วย Secret เท่านั้น / Browser ต้องเชื่อมต่อ Socket.IO Endpoint (NODE_PUBLIC_URL) เพื่อรับการแจ้งเตือน | UN11.001 | Node – Socket.IO Notification Server | TC-UN11.001 | - |
|
||||
| CR01:022 | ระบบต้องสรุปยอดสต๊อก/GL และแจ้งเตือนสินค้าใกล้หมดและใบแจ้งหนี้ค้างชำระตามกำหนดเวลา | SR03:011, SR05:002, SR08:004 | บริการแจ้งเตือนและงานตามกำหนดเวลา: Socket.IO และ Scheduler (nodejs/server.js, nodejs/scheduler.js, app/cron/) / ยอดสรุปสต๊อก/GL/แดชบอร์ดต้องคำนวณล่วงหน้าตามกำหนดเวลา (etl_stock_summary, etl_gl_summary) / ตารางสรุปยอดและควบคุมเอกสาร: etl_stock_summary, etl_gl_summary, document_number_sequences, document_types, schema_migrations | UN11.002 | Node – Scheduler (ETL & Alerts) | TC-UN11.002 | - |
|
||||
| CR01:023 | ระบบต้องเก็บผู้สร้าง ผู้แก้ไข สถานะ และประวัติรายการเพื่อการตรวจสอบ | SR03:010, SR09:001 | โมดูลควบคุมเอกสาร: ออกเลขที่เอกสาร, วงจรชีวิต/สถานะ, ประวัติรายการ (DocumentNumberManager, BatchActionManager) / การลบ ยกเลิก หรือ Void เอกสารควบคุมต้องมี Confirm Dialog | UN10.003 | Document – Audit Fields & History | TC-UN10.003 | - |
|
||||
| CR01:024 | ระบบต้องจำกัดข้อมูลบริษัทและคลังสินค้าให้เฉพาะผู้ใช้ที่ได้รับอนุญาตในบริบทปัจจุบัน | SR04:001, SR04:003, SR07:002 | ทุกโมดูลปฏิบัติการต้องเข้าถึงได้ผ่านการยืนยันตัวตนและการตรวจสิทธิ์ของโมดูลผู้ใช้งานเท่านั้น / โมดูลรายงานต้องอ่านข้อมูลภายใต้ขอบเขตบริษัท/คลังที่โมดูลข้อมูลหลักและคลังสินค้าบังคับใช้ / การทำงานฝั่งเซิร์ฟเวอร์ต้องตรวจสอบข้อมูลนำเข้า ยืนยันตัวตน ตรวจสิทธิ์ และจำกัดขอบเขตบริษัท/คลัง | UN12.001 | Security – Tenant Scope Guard | TC-UN12.001 | - |
|
||||
| CR02: Performance Considerations | | | | | | | |
|
||||
| CR02:001 | ระบบต้องตอบสนองงานประจำวัน (เปิดหน้าจอ, ค้นหา, สร้างเอกสาร) ภายในเวลาที่ใช้งานได้จริงบนสภาพแวดล้อมที่ตกลง | SR05:001 | งานประจำวัน (เปิดหน้าจอ, ค้นหา, สร้างเอกสาร) ต้องเสร็จภายในเวลาที่ใช้งานได้จริงบนสภาพแวดล้อมที่ตกลง | UN09.001 | Reports – Dashboard & Aggregates | TC-UN09.001 | - |
|
||||
| CR02:002 | ระบบต้องมีตารางสรุปยอด (Aggregate) เพื่อให้แดชบอร์ดและรายงานแสดงผลได้โดยไม่ต้องคำนวณใหม่ทุกครั้ง | SR05:002 | ยอดสรุปสต๊อก/GL/แดชบอร์ดต้องคำนวณล่วงหน้าตามกำหนดเวลา (etl_stock_summary, etl_gl_summary) | UN09.001, UN11.002 | Reports – Dashboard & Aggregates / Node – Scheduler (ETL & Alerts) | TC-UN09.001, TC-UN11.002 | - |
|
||||
| CR02:003 | ระบบต้องรองรับปริมาณข้อมูลและผู้ใช้พร้อมกันในระดับที่ตกลงสำหรับสภาพแวดล้อมใช้งานจริง | SR05:003 | ระบบต้องรองรับปริมาณข้อมูลและผู้ใช้พร้อมกันตามที่ตกลงสำหรับสภาพแวดล้อมใช้งานจริง | UN09.001 | Reports – Dashboard & Aggregates | TC-UN09.001 | - |
|
||||
| CR03: Interface Considerations | | | | | | | |
|
||||
| CR03:001 | ระบบต้องเชื่อมต่อฐานข้อมูล MySQL/MariaDB 2 ฐาน (wms สำหรับผู้ใช้/บริษัท และ wms2 สำหรับคลัง/บัญชี) | SR06:001 | แอปพลิเคชัน PHP ต้องเชื่อมต่อฐานข้อมูล MariaDB 2 ฐาน: wms (ผู้ใช้/บริษัท) และ wms2 (คลัง/บัญชี) | UN13.001 | Deploy – setup.php Schema Installer | TC-UN13.001 | - |
|
||||
| CR03:002 | ระบบต้องใช้งานผ่าน Web Browser มาตรฐาน (Chrome, Edge, Firefox) ได้ | SR06:002 | ระบบต้องใช้งานได้บน Chrome, Edge และ Firefox รุ่นปัจจุบัน | UN01.002 | Identity – Login & Role Guard | TC-UN01.002 | - |
|
||||
| CR03:003 | ระบบต้องส่งเหตุการณ์ไปยังบริการ Node.js ผ่าน Endpoint ภายในที่ป้องกันด้วย Secret | SR06:004, SR04:004 | แอปพลิเคชัน PHP ต้องส่งเหตุการณ์ไป Node.js ผ่าน HTTP Endpoint ภายใน (NODE_EMIT_URL + NODE_EMIT_SECRET) และส่งอีเมลผ่าน SMTP ต่อบริษัท / บริการ Node.js ต้องรับเหตุการณ์จากแอปพลิเคชัน PHP ผ่าน Endpoint ภายในที่ป้องกันด้วย Secret เท่านั้น | UN11.001 | Node – Socket.IO Notification Server | TC-UN11.001 | - |
|
||||
| CR03:004 | Browser ต้องเชื่อมต่อ Socket.IO Endpoint สาธารณะเพื่อรับการแจ้งเตือนแบบ Real-time | SR06:005 | Browser ต้องเชื่อมต่อ Socket.IO Endpoint (NODE_PUBLIC_URL) เพื่อรับการแจ้งเตือน | UN11.001 | Node – Socket.IO Notification Server | TC-UN11.001 | - |
|
||||
| CR03:005 | ระบบต้องส่งอีเมล Onboarding, กู้คืนรหัสผ่าน และแจ้งเตือนผ่าน SMTP ที่ตั้งค่าต่อบริษัท | SR06:004, SR03:002 | แอปพลิเคชัน PHP ต้องส่งเหตุการณ์ไป Node.js ผ่าน HTTP Endpoint ภายใน (NODE_EMIT_URL + NODE_EMIT_SECRET) และส่งอีเมลผ่าน SMTP ต่อบริษัท / โมดูลตั้งค่าบริษัท: ข้อมูลบริษัท, SMTP, การตั้งค่าระบบ (app/setting/, CompanyProfileManager, CompanySettingManager, SmtpManager) | UN02.002 | Company – SMTP & Mail Dispatch | TC-UN02.002 | - |
|
||||
| CR04: Required System Characteristics | | | | | | | |
|
||||
| CR04:001 | ระบบต้องพัฒนาบนสถาปัตยกรรม Web-based Application | SR02:001 | ระบบต้องเป็น Web-based Application แบบหลายหน้า (Multi-page PHP) | UN01.002 | Identity – Login & Role Guard | TC-UN01.002 | - |
|
||||
| CR04:002 | ระบบต้องเก็บข้อมูลแบบ Relational Database และรักษา Referential Integrity | SR08:001, SR08:002, SR08:003 | ฐานข้อมูล wms: user, company_list, company_map_user, company_setting, company_smtp, company_usage, whitelist / ตารางข้อมูลหลัก (wms2): md_warehouse, md_storage, md_bin, md_product, md_product_category, md_contact, md_contact_type, md_account, md_account_formula, md_account_formula_item, md_department, md_barcode, md_sku_barcode_label, md_lot, md_lock_operation / ตารางรายการ (td_*): td_stock, td_order/_item, td_quotation/_item, td_invoice/_item, td_return/_item, td_purchase_request/_item, td_purchase_order/_item, td_supplier_return/_item, td_receipt/_item, td_receipt_billing/_item, td_payment/_item, td_payment_billing/_item, td_gl/td_gl_item, td_batch_action, td_bin_log | UN13.001 | Deploy – setup.php Schema Installer | TC-UN13.001 | - |
|
||||
| CR04:003 | ระบบต้องรองรับการเข้าสู่ระบบด้วย Username/Password และกำหนดบทบาทผู้ใช้ | SR04:001 | ทุกโมดูลปฏิบัติการต้องเข้าถึงได้ผ่านการยืนยันตัวตนและการตรวจสิทธิ์ของโมดูลผู้ใช้งานเท่านั้น | UN01.002 | Identity – Login & Role Guard | TC-UN01.002 | - |
|
||||
| CR04:004 | ระบบต้องทำงานบน PHP 8 ขึ้นไป, MySQL/MariaDB และ Node.js | SR01:002 | ระบบต้องใช้เทคโนโลยี PHP 8 ขึ้นไป, MySQL/MariaDB และ Node.js (Socket.IO, pm2) | UN13.001 | Deploy – setup.php Schema Installer | TC-UN13.001 | - |
|
||||
| CR05: Human Engineering Considerations | | | | | | | |
|
||||
| CR05:001 | UI ต้องเป็น Responsive ใช้งานได้ทั้งบน Desktop และอุปกรณ์หน้าคลังสินค้า (Tablet/Mobile) | SR02:002 | ส่วนติดต่อผู้ใช้ต้องเป็น Responsive Design รองรับ Desktop / Tablet / Mobile | UN01.002 | Identity – Login & Role Guard | TC-UN01.002 | - |
|
||||
| CR05:002 | เมนูและปุ่มคำสั่งต้องแสดงตามบทบาทและสิทธิ์การเข้าถึงของผู้ใช้ | SR04:001 | ทุกโมดูลปฏิบัติการต้องเข้าถึงได้ผ่านการยืนยันตัวตนและการตรวจสิทธิ์ของโมดูลผู้ใช้งานเท่านั้น | UN01.002 | Identity – Login & Role Guard | TC-UN01.002 | - |
|
||||
| CR05:003 | ระบบต้องแสดงผลการตรวจสอบข้อมูล สถานะ ความสำเร็จ และข้อผิดพลาดอย่างชัดเจน | SR09:002 | ข้อผิดพลาดต้องแสดงข้อความที่ผู้ใช้เข้าใจได้แทน Fatal Error | UN10.002 | Document – Lifecycle & Status | TC-UN10.002 | - |
|
||||
| CR05:004 | ระบบต้องมีขั้นตอนยืนยันก่อนลบ ยกเลิก หรือทำรายการที่ย้อนกลับไม่ได้ | SR09:001 | การลบ ยกเลิก หรือ Void เอกสารควบคุมต้องมี Confirm Dialog | UN10.002 | Document – Lifecycle & Status | TC-UN10.002 | - |
|
||||
| CR05:005 | ระบบต้องพิมพ์เอกสารธุรกิจและฉลากบาร์โค้ดในรูปแบบที่ใช้งานได้ | SR03:004 | โมดูลควบคุมสินค้าคงคลัง: รับเข้า, จ่ายออก, โอนย้าย, Lot/Serial/Expiry, บาร์โค้ด, แนบไฟล์ (app/ics/, StockManager, StockSourceManager, BarcodeManager, FileUploader) | UN04.005 | ICS – Barcode Label & Scan | TC-UN04.005 | - |
|
||||
| CR06: Security Considerations | | | | | | | |
|
||||
| CR06:001 | การเชื่อมต่อในสภาพแวดล้อมใช้งานจริงต้องเข้ารหัสด้วย HTTPS/TLS | SR07:001 | การเชื่อมต่อในสภาพแวดล้อมใช้งานจริงต้องผ่าน HTTPS/TLS | UN12.004 | Security – TLS & Secret Configuration | TC-UN12.004 | - |
|
||||
| CR06:002 | ค่าตั้งค่าและความลับของระบบต้องไม่ถูกเก็บใน Source Control และไม่เข้าถึงได้จากเว็บสาธารณะ | SR01:005 | ค่าตั้งค่าและความลับ (app/config.php, .env) ต้องถูกยกเว้นจาก Source Control และสร้างขึ้นตอนติดตั้ง | UN13.003, UN12.004 | Deploy – .env Generator / Security – TLS & Secret Configuration | TC-UN13.003, TC-UN12.004 | - |
|
||||
| CR06:003 | การทำงานฝั่งเซิร์ฟเวอร์ต้องตรวจสอบข้อมูลนำเข้า ยืนยันตัวตน ตรวจสิทธิ์ และจำกัดขอบเขตบริษัท/คลัง | SR07:002 | การทำงานฝั่งเซิร์ฟเวอร์ต้องตรวจสอบข้อมูลนำเข้า ยืนยันตัวตน ตรวจสิทธิ์ และจำกัดขอบเขตบริษัท/คลัง | UN12.002 | Security – Server-side Validation | TC-UN12.002 | - |
|
||||
| CR06:004 | ระบบต้องจำกัดสิทธิ์การเข้าถึงตามบทบาท (Role-based Access Control) ทั้งใน UI และฝั่งเซิร์ฟเวอร์ | SR07:005 | RBAC (Owner/Admin/Staff/Viewer) ต้องบังคับใช้ที่ฝั่งเซิร์ฟเวอร์ ไม่ใช่เพียงการซ่อนเมนู | UN01.002 | Identity – Login & Role Guard | TC-UN01.002 | - |
|
||||
| CR06:005 | ระบบต้องป้องกัน SQL Injection และ Cross-Site Scripting | SR07:004 | ระบบต้องป้องกัน SQL Injection และ Cross-Site Scripting ทั้งด้านรับข้อมูลและแสดงผล | UN12.002 | Security – Server-side Validation | TC-UN12.002 | - |
|
||||
| CR06:006 | ระบบต้องบล็อกการเข้าสู่ระบบซ้ำซ้อน (Concurrent Login) ของบัญชีเดียวกัน | SR07:003 | ระบบต้องอนุญาต Session ที่ใช้งานอยู่เพียงหนึ่งต่อบัญชี (บล็อก Concurrent Login) | UN01.003 | Identity – Password Recovery / OTP / Session | TC-UN01.003 | - |
|
||||
| CR07: Environmental Considerations | | | | | | | |
|
||||
| CR07:001 | ระบบต้องทำงานบน Linux Server ในรูปแบบติดตั้งเอง (LAMP) หรือ Docker Compose | SR01:003 | ระบบต้องติดตั้งบน Linux Server ได้ทั้งแบบ Manual (setup.php) และ Docker Compose (php-apache, mariadb, node/pm2) | UN13.001, UN13.002 | Deploy – setup.php Schema Installer / Deploy – Docker Compose Stack | TC-UN13.001, TC-UN13.002 | - |
|
||||
| CR07:002 | ระบบต้องใช้เขตเวลา Asia/Bangkok อย่างสม่ำเสมอทั้งแอปพลิเคชันและงานตามกำหนดเวลา | SR01:006 | แอปพลิเคชันและงานตามกำหนดเวลาต้องใช้เขตเวลา Asia/Bangkok | UN11.002 | Node – Scheduler (ETL & Alerts) | TC-UN11.002 | - |
|
||||
| CR07:003 | ระบบต้องใช้งานได้บนอุปกรณ์ Desktop และอุปกรณ์พกพาผ่าน Web Browser | SR06:003, SR02:002 | ระบบต้องรองรับ Mobile/Tablet Browser ผ่าน Responsive UI / ส่วนติดต่อผู้ใช้ต้องเป็น Responsive Design รองรับ Desktop / Tablet / Mobile | UN01.002 | Identity – Login & Role Guard | TC-UN01.002 | - |
|
||||
| CR07:004 | ระบบต้องแยกข้อมูลสาธิต/ทดสอบออกจากข้อมูลใช้งานจริงได้ | SR01:003 | ระบบต้องติดตั้งบน Linux Server ได้ทั้งแบบ Manual (setup.php) และ Docker Compose (php-apache, mariadb, node/pm2) | UN13.001 | Deploy – setup.php Schema Installer | TC-UN13.001 | - |
|
||||
| CR08: Operational Considerations | | | | | | | |
|
||||
| CR08:001 | ระบบต้องมีการสำรองฐานข้อมูลอัตโนมัติรายวัน | SR01:003 | ระบบต้องติดตั้งบน Linux Server ได้ทั้งแบบ Manual (setup.php) และ Docker Compose (php-apache, mariadb, node/pm2) | UN13.004 | Deploy – Backup & Restore | TC-UN13.004 | - |
|
||||
| CR08:002 | ระบบต้องกู้คืนข้อมูลจากชุดสำรองได้ตามขั้นตอนที่จัดทำเป็นเอกสาร | SR01:003 | ระบบต้องติดตั้งบน Linux Server ได้ทั้งแบบ Manual (setup.php) และ Docker Compose (php-apache, mariadb, node/pm2) | UN13.004 | Deploy – Backup & Restore | TC-UN13.004 | - |
|
||||
| CR08:003 | ระบบต้องมีการเฝ้าระวังสถานะบริการ Web, Database และ Node.js พร้อมแจ้งเตือนเมื่อขัดข้อง | SR05:004 | ระบบต้องมี Health Check ทุก 5 นาที และแจ้งเตือนผู้ดูแลเมื่อล้มเหลวติดต่อกัน 2 ครั้ง | - | - | - | Product Operation Guide (การเฝ้าระวังระบบ) |
|
||||
| CR08:004 | ระบบต้องรองรับหลายบริษัท (Multi-company) และหลายคลังสินค้าภายใต้การแยกข้อมูล | SR04:003 | โมดูลรายงานต้องอ่านข้อมูลภายใต้ขอบเขตบริษัท/คลังที่โมดูลข้อมูลหลักและคลังสินค้าบังคับใช้ | UN12.001 | Security – Tenant Scope Guard | TC-UN12.001 | - |
|
||||
| CR08:005 | งานตามกำหนดเวลาต้องทำงานสำเร็จโดยไม่สร้างผลลัพธ์ซ้ำหรือเกินสิทธิ์ | SR05:002 | ยอดสรุปสต๊อก/GL/แดชบอร์ดต้องคำนวณล่วงหน้าตามกำหนดเวลา (etl_stock_summary, etl_gl_summary) | UN11.002 | Node – Scheduler (ETL & Alerts) | TC-UN11.002 | - |
|
||||
| CR09: Maintenance Considerations | | | | | | | |
|
||||
| CR09:001 | ซอฟต์แวร์ต้องมีโครงสร้างแบบโมดูล (Manager Classes / API) เพื่อให้แก้ไขได้โดยไม่กระทบส่วนอื่น | SR02:003, SR02:004 | ตรรกะทางธุรกิจต้องจัดเป็น Manager/Service Classes ที่เรียกใช้จาก Page Controller แยกจากส่วนแสดงผล / การเข้าถึงข้อมูลต้องผ่าน Manager Classes ไม่กระจาย SQL ในหน้าเพจ | - | - | - | Software Design (Software Unit), Software Components |
|
||||
| CR09:002 | ระบบต้องมีแม่แบบค่าตั้งค่า (Configuration Template) และควบคุมเวอร์ชันด้วย Git | SR01:005 | ค่าตั้งค่าและความลับ (app/config.php, .env) ต้องถูกยกเว้นจาก Source Control และสร้างขึ้นตอนติดตั้ง | UN13.003 | Deploy – .env Generator | TC-UN13.003 | - |
|
||||
| CR09:003 | ระบบต้องมีเอกสารคู่มือการบำรุงรักษาและประวัติข้อบกพร่องที่แก้ไขแล้ว | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | - | - | - | Maintenance Document, Correction Register |
|
||||
| CR09:004 | การเปลี่ยนแปลงโครงสร้างฐานข้อมูลต้องสะท้อนใน setup.php และตาราง schema_migrations | SR08:005, SR08:004 | ตารางทั้งหมดต้องสร้างซ้ำได้ในสภาพแวดล้อมใหม่ผ่าน setup.php โดยไม่ต้องแก้ Schema ด้วยมือ / ตารางสรุปยอดและควบคุมเอกสาร: etl_stock_summary, etl_gl_summary, document_number_sequences, document_types, schema_migrations | UN13.001 | Deploy – setup.php Schema Installer | TC-UN13.001 | - |
|
||||
| CR10: Installation Considerations | | | | | | | |
|
||||
| CR10:001 | ระบบต้องติดตั้งฐานข้อมูลได้ในขั้นตอนเดียวผ่าน setup.php | SR01:003, SR08:005 | ระบบต้องติดตั้งบน Linux Server ได้ทั้งแบบ Manual (setup.php) และ Docker Compose (php-apache, mariadb, node/pm2) / ตารางทั้งหมดต้องสร้างซ้ำได้ในสภาพแวดล้อมใหม่ผ่าน setup.php โดยไม่ต้องแก้ Schema ด้วยมือ | UN13.001 | Deploy – setup.php Schema Installer | TC-UN13.001 | - |
|
||||
| CR10:002 | ระบบต้องติดตั้งแบบ Container ได้ด้วยคำสั่ง docker compose up -d --build | SR02:005 | ระบบต้องติดตั้งเป็น Container Stack ผ่าน Docker Compose ได้ นอกเหนือจากการติดตั้งแบบ Manual | UN13.002 | Deploy – Docker Compose Stack | TC-UN13.002 | - |
|
||||
| CR10:003 | ระบบต้องมีสคริปต์สร้างไฟล์ .env และค่าความลับอัตโนมัติ (docker/init-env.sh) | SR01:005 | ค่าตั้งค่าและความลับ (app/config.php, .env) ต้องถูกยกเว้นจาก Source Control และสร้างขึ้นตอนติดตั้ง | UN13.003 | Deploy – .env Generator | TC-UN13.003 | - |
|
||||
| CR10:004 | ระบบต้องมีเอกสารขั้นตอนการติดตั้งและตั้งค่า | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | UN13.001, UN13.002 | Deploy – setup.php Schema Installer / Deploy – Docker Compose Stack | TC-UN13.001, TC-UN13.002 | Product Operation Guide (ขั้นตอนติดตั้ง) |
|
||||
| CR11: Support Considerations | | | | | | | |
|
||||
| CR11:001 | ต้องมีคู่มือผู้ใช้งาน (Software User Document) | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | - | - | - | Software User Document (WP 8.0) |
|
||||
| CR11:002 | ต้องมีคู่มือปฏิบัติงานสำหรับผู้ดูแลระบบ (Product Operation Guide) | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | - | - | - | Product Operation Guide (WP 10.0) |
|
||||
| CR11:003 | ต้องมีการอบรมผู้ใช้งานก่อนเปิดใช้งานจริง | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | - | - | - | Training Report |
|
||||
| CR11:004 | ต้องมีช่องทางสนับสนุนและระดับการให้บริการ (SLA) หลังส่งมอบ | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | - | - | - | Maintenance Document (SLA) |
|
||||
| CR12: Design Constraints | | | | | | | |
|
||||
| CR12:001 | ระบบต้องพัฒนาด้วย PHP, MariaDB และ Node.js ตามที่องค์กรอนุมัติ | SR01:002 | ระบบต้องใช้เทคโนโลยี PHP 8 ขึ้นไป, MySQL/MariaDB และ Node.js (Socket.IO, pm2) | UN13.001 | Deploy – setup.php Schema Installer | TC-UN13.001 | - |
|
||||
| CR12:002 | ระบบต้องควบคุม Source Code ด้วย Git โดยมี main เป็น Baseline หลัก | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | - | - | - | Software Configuration, Project Repository |
|
||||
| CR12:003 | รหัสผ่านผู้ใช้ต้องเข้ารหัสด้วย bcrypt และไม่เก็บหรือบันทึกเป็นข้อความธรรมดา | SR01:004 | รหัสผ่านผู้ใช้ต้องเข้ารหัสด้วย bcrypt (PASSWORD_BCRYPT) และไม่เก็บหรือบันทึกเป็นข้อความธรรมดา | UN01.003 | Identity – Password Recovery / OTP / Session | TC-UN01.003 | - |
|
||||
| CR12:004 | โครงการต้องจัดทำ Work Products ตามมาตรฐาน ISO/IEC 29110 Basic Profile | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | - | - | - | List of Evidence, Verification Results |
|
||||
| CR13: Safety and Reliability Considerations | | | | | | | |
|
||||
| CR13:001 | การเปลี่ยนแปลงฐานข้อมูลที่เกี่ยวข้องกัน (เอกสาร + สต๊อก + GL) ต้องเป็น Transaction เดียวกัน | SR09:003 | การเปลี่ยนแปลงที่เกี่ยวข้องกัน (เอกสาร + สต๊อก + GL) ต้องเป็น Transaction และป้องกันยอดติดลบ/ซ้ำ | UN08.002 | Accounting – Journal & GL Posting | TC-UN08.002 | - |
|
||||
| CR13:002 | ระบบต้องป้องกันยอดสต๊อกติดลบและความเคลื่อนไหวซ้ำซ้อน | SR09:003 | การเปลี่ยนแปลงที่เกี่ยวข้องกัน (เอกสาร + สต๊อก + GL) ต้องเป็น Transaction และป้องกันยอดติดลบ/ซ้ำ | UN04.002 | ICS – Stock-out | TC-UN04.002 | - |
|
||||
| CR13:003 | ระบบต้องรองรับการสำรองและกู้คืน (Backup & Recovery) ทั้ง Source Code และฐานข้อมูล | SR01:003 | ระบบต้องติดตั้งบน Linux Server ได้ทั้งแบบ Manual (setup.php) และ Docker Compose (php-apache, mariadb, node/pm2) | UN13.004 | Deploy – Backup & Restore | TC-UN13.004 | - |
|
||||
| CR13:004 | ระบบต้องจัดการข้อผิดพลาดโดยแสดงข้อความที่เข้าใจได้แทน Fatal Error | SR09:002 | ข้อผิดพลาดต้องแสดงข้อความที่ผู้ใช้เข้าใจได้แทน Fatal Error | UN10.002 | Document – Lifecycle & Status | TC-UN10.002 | - |
|
||||
| CR14: Quality Expectations | | | | | | | |
|
||||
| CR14:001 | ระบบต้องผ่านการทดสอบตาม Test Case ที่กำหนดก่อนส่งมอบ | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | - | - | - | Test Report |
|
||||
| CR14:002 | ทุกความต้องการต้องสอบกลับได้ถึงการออกแบบ ส่วนประกอบ และหลักฐานการทดสอบ | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | - | - | - | Traceability Record |
|
||||
| CR14:003 | ระบบต้องผ่านการทดสอบการยอมรับ (UAT) โดยตัวแทนลูกค้าบนสภาพแวดล้อมใช้งานจริง | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | - | - | - | Validation Results, Acceptance Report |
|
||||
| CR14:004 | ต้องไม่มีข้อบกพร่องระดับวิกฤตค้างอยู่ในด้านความปลอดภัย การแยกข้อมูล และความถูกต้องของสต๊อก/บัญชี | SR07:002 | การทำงานฝั่งเซิร์ฟเวอร์ต้องตรวจสอบข้อมูลนำเข้า ยืนยันตัวตน ตรวจสิทธิ์ และจำกัดขอบเขตบริษัท/คลัง | UN12.001, UN12.002 | Security – Tenant Scope Guard / Security – Server-side Validation | TC-UN12.001, TC-UN12.002 | Test Report, Correction Register |
|
||||
| CR ID | CR Topic | SRS ID | SRS Topic | Unit ID | Unit Topic | หลักฐานอื่น (Document) |
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| CR01: Feature & Functional Characteristics | | | | | | |
|
||||
| CR01:001 | ระบบต้องรองรับการลงทะเบียนเจ้าของบริษัทและการเชิญผู้ใช้งานเข้าร่วมบริษัท (Onboarding) | SR03:001, SR08:001 | โมดูลผู้ใช้งานและสิทธิ์: ลงทะเบียน, Onboarding, เข้าสู่ระบบ, บทบาท Owner/Admin/Staff/Viewer, สิทธิ์แอปพลิเคชัน (app/login/, UserManager, PasswordManager, PasswordResetManager) / ฐานข้อมูล wms: user, company_list, company_map_user, company_setting, company_smtp, company_usage, whitelist | UN01.001 | Identity – Register & Onboarding | - |
|
||||
| CR01:002 | ระบบต้องยืนยันตัวตนผู้ใช้และบังคับสิทธิ์ตามบทบาท Owner, Admin, Staff และ Viewer | SR03:001, SR04:001, SR07:005 | โมดูลผู้ใช้งานและสิทธิ์: ลงทะเบียน, Onboarding, เข้าสู่ระบบ, บทบาท Owner/Admin/Staff/Viewer, สิทธิ์แอปพลิเคชัน (app/login/, UserManager, PasswordManager, PasswordResetManager) / ทุกโมดูลปฏิบัติการต้องเข้าถึงได้ผ่านการยืนยันตัวตนและการตรวจสิทธิ์ของโมดูลผู้ใช้งานเท่านั้น / RBAC (Owner/Admin/Staff/Viewer) ต้องบังคับใช้ที่ฝั่งเซิร์ฟเวอร์ ไม่ใช่เพียงการซ่อนเมนู | UN01.002 | Identity – Login & Role Guard | - |
|
||||
| CR01:003 | ระบบต้องรองรับการกู้คืนรหัสผ่าน การควบคุม Session และการยืนยัน OTP ตามที่กำหนด | SR03:001, SR07:003 | โมดูลผู้ใช้งานและสิทธิ์: ลงทะเบียน, Onboarding, เข้าสู่ระบบ, บทบาท Owner/Admin/Staff/Viewer, สิทธิ์แอปพลิเคชัน (app/login/, UserManager, PasswordManager, PasswordResetManager) / ระบบต้องอนุญาต Session ที่ใช้งานอยู่เพียงหนึ่งต่อบัญชี (บล็อก Concurrent Login) | UN01.003 | Identity – Password Recovery / OTP / Session | - |
|
||||
| CR01:004 | ระบบต้องให้ผู้ดูแลจัดการข้อมูลบริษัท, SMTP, การตั้งค่าระบบ, ผู้ใช้งาน และสิทธิ์การเข้าถึงแอปพลิเคชัน | SR03:001, SR03:002 | โมดูลผู้ใช้งานและสิทธิ์: ลงทะเบียน, Onboarding, เข้าสู่ระบบ, บทบาท Owner/Admin/Staff/Viewer, สิทธิ์แอปพลิเคชัน (app/login/, UserManager, PasswordManager, PasswordResetManager) / โมดูลตั้งค่าบริษัท: ข้อมูลบริษัท, SMTP, การตั้งค่าระบบ (app/setting/, CompanyProfileManager, CompanySettingManager, SmtpManager) | UN01.004, UN02.001, UN02.002 | Identity – User & App-Access Administration / Company – Profile & System Settings / Company – SMTP & Mail Dispatch | - |
|
||||
| CR01:005 | ระบบต้องจัดการข้อมูลคลังสินค้า, พื้นที่/ช่องจัดเก็บ, หมวดสินค้า, สินค้า, ประเภทผู้ติดต่อ และผู้ติดต่อ | SR03:003, SR08:002 | โมดูลข้อมูลหลัก: คลังสินค้า, พื้นที่/ช่องจัดเก็บ, หมวดสินค้า, สินค้า, ผู้ติดต่อ (app/inventory/, app/contact/, WarehouseManager, ProductManager, ContactManager) / ตารางข้อมูลหลัก (wms2): md_warehouse, md_storage, md_bin, md_product, md_product_category, md_contact, md_contact_type, md_account, md_account_formula, md_account_formula_item, md_department, md_barcode, md_sku_barcode_label, md_lot, md_lock_operation | UN03.001, UN03.002, UN03.003 | Master – Warehouse / Storage / Bin / Master – Product & Category / Master – Contact | - |
|
||||
| CR01:006 | ระบบต้องรองรับโครงสร้างตำแหน่งจัดเก็บทั้งแบบคลังเดียวและแบบหลายชั้น (คลัง/พื้นที่/ช่อง) | SR03:003 | โมดูลข้อมูลหลัก: คลังสินค้า, พื้นที่/ช่องจัดเก็บ, หมวดสินค้า, สินค้า, ผู้ติดต่อ (app/inventory/, app/contact/, WarehouseManager, ProductManager, ContactManager) | UN03.004 | Master – Warehouse Layer Configuration | - |
|
||||
| CR01:007 | ระบบต้องบันทึกการรับสินค้าเข้า (Stock-in) ระบุสินค้า จำนวน ตำแหน่ง เอกสารอ้างอิง และข้อมูลติดตาม | SR03:004, SR08:003 | โมดูลควบคุมสินค้าคงคลัง: รับเข้า, จ่ายออก, โอนย้าย, Lot/Serial/Expiry, บาร์โค้ด, แนบไฟล์ (app/ics/, StockManager, StockSourceManager, BarcodeManager, FileUploader) / ตารางรายการ (td_*): td_stock, td_order/_item, td_quotation/_item, td_invoice/_item, td_return/_item, td_purchase_request/_item, td_purchase_order/_item, td_supplier_return/_item, td_receipt/_item, td_receipt_billing/_item, td_payment/_item, td_payment_billing/_item, td_gl/td_gl_item, td_batch_action, td_bin_log | UN04.001 | ICS – Stock-in | - |
|
||||
| CR01:008 | ระบบต้องบันทึกการจ่ายสินค้าออก (Stock-out) โดยตรวจสอบสิทธิ์และยอดคงเหลือก่อนจ่าย | SR03:004, SR09:003 | โมดูลควบคุมสินค้าคงคลัง: รับเข้า, จ่ายออก, โอนย้าย, Lot/Serial/Expiry, บาร์โค้ด, แนบไฟล์ (app/ics/, StockManager, StockSourceManager, BarcodeManager, FileUploader) / การเปลี่ยนแปลงที่เกี่ยวข้องกัน (เอกสาร + สต๊อก + GL) ต้องเป็น Transaction และป้องกันยอดติดลบ/ซ้ำ | UN04.002 | ICS – Stock-out | - |
|
||||
| CR01:009 | ระบบต้องโอนย้ายสินค้าระหว่างตำแหน่งจัดเก็บที่ได้รับอนุญาตโดยยอดต้นทาง/ปลายทางสมดุลกัน | SR03:004 | โมดูลควบคุมสินค้าคงคลัง: รับเข้า, จ่ายออก, โอนย้าย, Lot/Serial/Expiry, บาร์โค้ด, แนบไฟล์ (app/ics/, StockManager, StockSourceManager, BarcodeManager, FileUploader) | UN04.003 | ICS – Stock Transfer | - |
|
||||
| CR01:010 | ระบบต้องติดตาม Lot, Serial Number และวันหมดอายุของสินค้าที่เกี่ยวข้อง | SR03:004, SR08:002 | โมดูลควบคุมสินค้าคงคลัง: รับเข้า, จ่ายออก, โอนย้าย, Lot/Serial/Expiry, บาร์โค้ด, แนบไฟล์ (app/ics/, StockManager, StockSourceManager, BarcodeManager, FileUploader) / ตารางข้อมูลหลัก (wms2): md_warehouse, md_storage, md_bin, md_product, md_product_category, md_contact, md_contact_type, md_account, md_account_formula, md_account_formula_item, md_department, md_barcode, md_sku_barcode_label, md_lot, md_lock_operation | UN04.004 | ICS – Lot / Serial / Expiry | - |
|
||||
| CR01:011 | ระบบต้องแสดงภาพรวมสต๊อก, ประวัติความเคลื่อนไหว, ความจุ/การใช้พื้นที่, สินค้าใกล้หมด, สินค้าหมดอายุ และข้อมูล Lot | SR03:009 | โมดูลรายงานและแดชบอร์ด: รายงานสต๊อก, รายงานการเงิน, แดชบอร์ด (app/reports/, app/dashboard/, app/ac_dashboard/, ReportManager, EtlStockManager) | UN09.002 | Reports – Stock Reports | - |
|
||||
| CR01:012 | ระบบต้องพิมพ์บาร์โค้ดสินค้า (SKU) และตำแหน่งจัดเก็บ และรองรับการสแกนในหน้าจอที่กำหนด | SR03:004 | โมดูลควบคุมสินค้าคงคลัง: รับเข้า, จ่ายออก, โอนย้าย, Lot/Serial/Expiry, บาร์โค้ด, แนบไฟล์ (app/ics/, StockManager, StockSourceManager, BarcodeManager, FileUploader) | UN04.005 | ICS – Barcode Label & Scan | - |
|
||||
| CR01:013 | ระบบต้องสร้างและจัดการใบเสนอราคา, ใบสั่งขาย, ใบแจ้งหนี้, ใบรับคืน และใบลดหนี้ | SR03:005, SR04:002 | โมดูลขาย: ใบเสนอราคา, ใบสั่งขาย, ใบแจ้งหนี้, ใบรับคืน/ใบลดหนี้ (app/order/, app/revenue/, QuotationManager, OrderManager, InvoiceManager, ReturnManager) / โมดูลขาย จัดซื้อ และการเงิน ต้องบันทึกผลกระทบต่อสต๊อกและ GL ผ่านโมดูลคลังสินค้าและบัญชี ไม่ทำซ้ำตรรกะ | UN05.001, UN05.002, UN05.003, UN05.004 | Sales – Quotation / Sales – Sales Order / Sales – Invoice / Sales – Return / Credit Note | - |
|
||||
| CR01:014 | ระบบต้องสร้างและจัดการใบขอซื้อ, ใบสั่งซื้อ, ใบแจ้งหนี้ซื้อ และใบคืนสินค้าผู้ขาย | SR03:006, SR04:002 | โมดูลจัดซื้อ: ใบขอซื้อ, ใบสั่งซื้อ, ใบแจ้งหนี้ซื้อ, ใบคืนสินค้าผู้ขาย (app/po/, PurchaseRequestManager, PurchaseOrderManager, SupplierReturnManager) / โมดูลขาย จัดซื้อ และการเงิน ต้องบันทึกผลกระทบต่อสต๊อกและ GL ผ่านโมดูลคลังสินค้าและบัญชี ไม่ทำซ้ำตรรกะ | UN06.001, UN06.002, UN06.003, UN06.004 | Purchasing – Purchase Request / Purchasing – Purchase Order / Purchasing – Purchase Invoice / Purchasing – Supplier Return | - |
|
||||
| CR01:015 | ระบบต้องสร้างและจัดการใบวางบิลรับ, ใบเสร็จรับเงิน, ใบวางบิลจ่าย และใบสำคัญจ่าย | SR03:007, SR04:002 | โมดูลการเงิน: ใบวางบิลรับ, ใบเสร็จ, ใบวางบิลจ่าย, ใบสำคัญจ่าย (app/finance/, ReceiptBillingManager, ReceiptManager, PaymentBillingManager, PaymentManager) / โมดูลขาย จัดซื้อ และการเงิน ต้องบันทึกผลกระทบต่อสต๊อกและ GL ผ่านโมดูลคลังสินค้าและบัญชี ไม่ทำซ้ำตรรกะ | UN07.001, UN07.002 | Finance – Receipt Billing & Receipt / Finance – Payment Billing & Payment | - |
|
||||
| CR01:016 | ระบบต้องจัดการผังบัญชี, แผนก, สูตรบัญชี, สมุดรายวัน และบัญชีแยกประเภท | SR03:008 | โมดูลบัญชี: ผังบัญชี, แผนก, สูตรบัญชี, สมุดรายวัน, บัญชีแยกประเภท (app/accounting/, app/journal/, PostingManager) | UN08.001, UN08.002 | Accounting – Chart of Accounts / Departments / Formulas / Accounting – Journal & GL Posting | - |
|
||||
| CR01:017 | ระบบต้องจัดทำรายงานงบทดลอง, งบกำไรขาดทุน, งบดุล, ภาษีมูลค่าเพิ่ม, สมุดรายวัน และความเคลื่อนไหว GL | SR03:009 | โมดูลรายงานและแดชบอร์ด: รายงานสต๊อก, รายงานการเงิน, แดชบอร์ด (app/reports/, app/dashboard/, app/ac_dashboard/, ReportManager, EtlStockManager) | UN09.003 | Reports – Financial Reports | - |
|
||||
| CR01:018 | ระบบต้องออกเลขที่เอกสารอัตโนมัติและควบคุมสถานะ/วงจรชีวิตของเอกสาร | SR03:010, SR04:005, SR08:004 | โมดูลควบคุมเอกสาร: ออกเลขที่เอกสาร, วงจรชีวิต/สถานะ, ประวัติรายการ (DocumentNumberManager, BatchActionManager) / ทุกโมดูลที่สร้างเอกสารธุรกิจต้องเรียกใช้โมดูลควบคุมเอกสารเพื่อออกเลขที่เอกสาร / ตารางสรุปยอดและควบคุมเอกสาร: etl_stock_summary, etl_gl_summary, document_number_sequences, document_types, schema_migrations | UN10.001, UN10.002 | Document – Numbering / Document – Lifecycle & Status | - |
|
||||
| CR01:019 | ระบบต้องรองรับการแนบไฟล์ที่อนุญาตกับรายการที่กำหนด | SR03:004 | โมดูลควบคุมสินค้าคงคลัง: รับเข้า, จ่ายออก, โอนย้าย, Lot/Serial/Expiry, บาร์โค้ด, แนบไฟล์ (app/ics/, StockManager, StockSourceManager, BarcodeManager, FileUploader) | UN04.006 | ICS – File Attachment | - |
|
||||
| CR01:020 | ระบบต้องให้ผู้ใช้กรอง ดู พิมพ์ และส่งออกรายงานปฏิบัติการและรายงานผู้บริหาร | SR03:009 | โมดูลรายงานและแดชบอร์ด: รายงานสต๊อก, รายงานการเงิน, แดชบอร์ด (app/reports/, app/dashboard/, app/ac_dashboard/, ReportManager, EtlStockManager) | UN09.004 | Reports – Filter / Print / Export | - |
|
||||
| CR01:021 | ระบบต้องแจ้งเตือนผู้ใช้ที่เกี่ยวข้องเมื่อสถานะเอกสารเปลี่ยนหรือมีเหตุการณ์ปฏิบัติการ | SR03:011, SR04:004, SR06:005 | บริการแจ้งเตือนและงานตามกำหนดเวลา: Socket.IO และ Scheduler (nodejs/server.js, nodejs/scheduler.js, app/cron/) / บริการ Node.js ต้องรับเหตุการณ์จากแอปพลิเคชัน PHP ผ่าน Endpoint ภายในที่ป้องกันด้วย Secret เท่านั้น / Browser ต้องเชื่อมต่อ Socket.IO Endpoint (NODE_PUBLIC_URL) เพื่อรับการแจ้งเตือน | UN11.001 | Node – Socket.IO Notification Server | - |
|
||||
| CR01:022 | ระบบต้องสรุปยอดสต๊อก/GL และแจ้งเตือนสินค้าใกล้หมดและใบแจ้งหนี้ค้างชำระตามกำหนดเวลา | SR03:011, SR05:002, SR08:004 | บริการแจ้งเตือนและงานตามกำหนดเวลา: Socket.IO และ Scheduler (nodejs/server.js, nodejs/scheduler.js, app/cron/) / ยอดสรุปสต๊อก/GL/แดชบอร์ดต้องคำนวณล่วงหน้าตามกำหนดเวลา (etl_stock_summary, etl_gl_summary) / ตารางสรุปยอดและควบคุมเอกสาร: etl_stock_summary, etl_gl_summary, document_number_sequences, document_types, schema_migrations | UN11.002 | Node – Scheduler (ETL & Alerts) | - |
|
||||
| CR01:023 | ระบบต้องเก็บผู้สร้าง ผู้แก้ไข สถานะ และประวัติรายการเพื่อการตรวจสอบ | SR03:010, SR09:001 | โมดูลควบคุมเอกสาร: ออกเลขที่เอกสาร, วงจรชีวิต/สถานะ, ประวัติรายการ (DocumentNumberManager, BatchActionManager) / การลบ ยกเลิก หรือ Void เอกสารควบคุมต้องมี Confirm Dialog | UN10.003 | Document – Audit Fields & History | - |
|
||||
| CR01:024 | ระบบต้องจำกัดข้อมูลบริษัทและคลังสินค้าให้เฉพาะผู้ใช้ที่ได้รับอนุญาตในบริบทปัจจุบัน | SR04:001, SR04:003, SR07:002 | ทุกโมดูลปฏิบัติการต้องเข้าถึงได้ผ่านการยืนยันตัวตนและการตรวจสิทธิ์ของโมดูลผู้ใช้งานเท่านั้น / โมดูลรายงานต้องอ่านข้อมูลภายใต้ขอบเขตบริษัท/คลังที่โมดูลข้อมูลหลักและคลังสินค้าบังคับใช้ / การทำงานฝั่งเซิร์ฟเวอร์ต้องตรวจสอบข้อมูลนำเข้า ยืนยันตัวตน ตรวจสิทธิ์ และจำกัดขอบเขตบริษัท/คลัง | UN12.001 | Security – Tenant Scope Guard | - |
|
||||
| CR02: Performance Considerations | | | | | | |
|
||||
| CR02:001 | ระบบต้องตอบสนองงานประจำวัน (เปิดหน้าจอ, ค้นหา, สร้างเอกสาร) ภายในเวลาที่ใช้งานได้จริงบนสภาพแวดล้อมที่ตกลง | SR05:001 | งานประจำวัน (เปิดหน้าจอ, ค้นหา, สร้างเอกสาร) ต้องเสร็จภายในเวลาที่ใช้งานได้จริงบนสภาพแวดล้อมที่ตกลง | UN09.001 | Reports – Dashboard & Aggregates | - |
|
||||
| CR02:002 | ระบบต้องมีตารางสรุปยอด (Aggregate) เพื่อให้แดชบอร์ดและรายงานแสดงผลได้โดยไม่ต้องคำนวณใหม่ทุกครั้ง | SR05:002 | ยอดสรุปสต๊อก/GL/แดชบอร์ดต้องคำนวณล่วงหน้าตามกำหนดเวลา (etl_stock_summary, etl_gl_summary) | UN09.001, UN11.002 | Reports – Dashboard & Aggregates / Node – Scheduler (ETL & Alerts) | - |
|
||||
| CR02:003 | ระบบต้องรองรับปริมาณข้อมูลและผู้ใช้พร้อมกันในระดับที่ตกลงสำหรับสภาพแวดล้อมใช้งานจริง | SR05:003 | ระบบต้องรองรับปริมาณข้อมูลและผู้ใช้พร้อมกันตามที่ตกลงสำหรับสภาพแวดล้อมใช้งานจริง | UN09.001 | Reports – Dashboard & Aggregates | - |
|
||||
| CR03: Interface Considerations | | | | | | |
|
||||
| CR03:001 | ระบบต้องเชื่อมต่อฐานข้อมูล MySQL/MariaDB 2 ฐาน (wms สำหรับผู้ใช้/บริษัท และ wms2 สำหรับคลัง/บัญชี) | SR06:001 | แอปพลิเคชัน PHP ต้องเชื่อมต่อฐานข้อมูล MariaDB 2 ฐาน: wms (ผู้ใช้/บริษัท) และ wms2 (คลัง/บัญชี) | UN13.001 | Deploy – setup.php Schema Installer | - |
|
||||
| CR03:002 | ระบบต้องใช้งานผ่าน Web Browser มาตรฐาน (Chrome, Edge, Firefox) ได้ | SR06:002 | ระบบต้องใช้งานได้บน Chrome, Edge และ Firefox รุ่นปัจจุบัน | UN01.002 | Identity – Login & Role Guard | - |
|
||||
| CR03:003 | ระบบต้องส่งเหตุการณ์ไปยังบริการ Node.js ผ่าน Endpoint ภายในที่ป้องกันด้วย Secret | SR06:004, SR04:004 | แอปพลิเคชัน PHP ต้องส่งเหตุการณ์ไป Node.js ผ่าน HTTP Endpoint ภายใน (NODE_EMIT_URL + NODE_EMIT_SECRET) และส่งอีเมลผ่าน SMTP ต่อบริษัท / บริการ Node.js ต้องรับเหตุการณ์จากแอปพลิเคชัน PHP ผ่าน Endpoint ภายในที่ป้องกันด้วย Secret เท่านั้น | UN11.001 | Node – Socket.IO Notification Server | - |
|
||||
| CR03:004 | Browser ต้องเชื่อมต่อ Socket.IO Endpoint สาธารณะเพื่อรับการแจ้งเตือนแบบ Real-time | SR06:005 | Browser ต้องเชื่อมต่อ Socket.IO Endpoint (NODE_PUBLIC_URL) เพื่อรับการแจ้งเตือน | UN11.001 | Node – Socket.IO Notification Server | - |
|
||||
| CR03:005 | ระบบต้องส่งอีเมล Onboarding, กู้คืนรหัสผ่าน และแจ้งเตือนผ่าน SMTP ที่ตั้งค่าต่อบริษัท | SR06:004, SR03:002 | แอปพลิเคชัน PHP ต้องส่งเหตุการณ์ไป Node.js ผ่าน HTTP Endpoint ภายใน (NODE_EMIT_URL + NODE_EMIT_SECRET) และส่งอีเมลผ่าน SMTP ต่อบริษัท / โมดูลตั้งค่าบริษัท: ข้อมูลบริษัท, SMTP, การตั้งค่าระบบ (app/setting/, CompanyProfileManager, CompanySettingManager, SmtpManager) | UN02.002 | Company – SMTP & Mail Dispatch | - |
|
||||
| CR04: Required System Characteristics | | | | | | |
|
||||
| CR04:001 | ระบบต้องพัฒนาบนสถาปัตยกรรม Web-based Application | SR02:001 | ระบบต้องเป็น Web-based Application แบบหลายหน้า (Multi-page PHP) | UN01.002 | Identity – Login & Role Guard | - |
|
||||
| CR04:002 | ระบบต้องเก็บข้อมูลแบบ Relational Database และรักษา Referential Integrity | SR08:001, SR08:002, SR08:003 | ฐานข้อมูล wms: user, company_list, company_map_user, company_setting, company_smtp, company_usage, whitelist / ตารางข้อมูลหลัก (wms2): md_warehouse, md_storage, md_bin, md_product, md_product_category, md_contact, md_contact_type, md_account, md_account_formula, md_account_formula_item, md_department, md_barcode, md_sku_barcode_label, md_lot, md_lock_operation / ตารางรายการ (td_*): td_stock, td_order/_item, td_quotation/_item, td_invoice/_item, td_return/_item, td_purchase_request/_item, td_purchase_order/_item, td_supplier_return/_item, td_receipt/_item, td_receipt_billing/_item, td_payment/_item, td_payment_billing/_item, td_gl/td_gl_item, td_batch_action, td_bin_log | UN13.001 | Deploy – setup.php Schema Installer | - |
|
||||
| CR04:003 | ระบบต้องรองรับการเข้าสู่ระบบด้วย Username/Password และกำหนดบทบาทผู้ใช้ | SR04:001 | ทุกโมดูลปฏิบัติการต้องเข้าถึงได้ผ่านการยืนยันตัวตนและการตรวจสิทธิ์ของโมดูลผู้ใช้งานเท่านั้น | UN01.002 | Identity – Login & Role Guard | - |
|
||||
| CR04:004 | ระบบต้องทำงานบน PHP 8 ขึ้นไป, MySQL/MariaDB และ Node.js | SR01:002 | ระบบต้องใช้เทคโนโลยี PHP 8 ขึ้นไป, MySQL/MariaDB และ Node.js (Socket.IO, pm2) | UN13.001 | Deploy – setup.php Schema Installer | - |
|
||||
| CR05: Human Engineering Considerations | | | | | | |
|
||||
| CR05:001 | UI ต้องเป็น Responsive ใช้งานได้ทั้งบน Desktop และอุปกรณ์หน้าคลังสินค้า (Tablet/Mobile) | SR02:002 | ส่วนติดต่อผู้ใช้ต้องเป็น Responsive Design รองรับ Desktop / Tablet / Mobile | UN01.002 | Identity – Login & Role Guard | - |
|
||||
| CR05:002 | เมนูและปุ่มคำสั่งต้องแสดงตามบทบาทและสิทธิ์การเข้าถึงของผู้ใช้ | SR04:001 | ทุกโมดูลปฏิบัติการต้องเข้าถึงได้ผ่านการยืนยันตัวตนและการตรวจสิทธิ์ของโมดูลผู้ใช้งานเท่านั้น | UN01.002 | Identity – Login & Role Guard | - |
|
||||
| CR05:003 | ระบบต้องแสดงผลการตรวจสอบข้อมูล สถานะ ความสำเร็จ และข้อผิดพลาดอย่างชัดเจน | SR09:002 | ข้อผิดพลาดต้องแสดงข้อความที่ผู้ใช้เข้าใจได้แทน Fatal Error | UN10.002 | Document – Lifecycle & Status | - |
|
||||
| CR05:004 | ระบบต้องมีขั้นตอนยืนยันก่อนลบ ยกเลิก หรือทำรายการที่ย้อนกลับไม่ได้ | SR09:001 | การลบ ยกเลิก หรือ Void เอกสารควบคุมต้องมี Confirm Dialog | UN10.002 | Document – Lifecycle & Status | - |
|
||||
| CR05:005 | ระบบต้องพิมพ์เอกสารธุรกิจและฉลากบาร์โค้ดในรูปแบบที่ใช้งานได้ | SR03:004 | โมดูลควบคุมสินค้าคงคลัง: รับเข้า, จ่ายออก, โอนย้าย, Lot/Serial/Expiry, บาร์โค้ด, แนบไฟล์ (app/ics/, StockManager, StockSourceManager, BarcodeManager, FileUploader) | UN04.005 | ICS – Barcode Label & Scan | - |
|
||||
| CR06: Security Considerations | | | | | | |
|
||||
| CR06:001 | การเชื่อมต่อในสภาพแวดล้อมใช้งานจริงต้องเข้ารหัสด้วย HTTPS/TLS | SR07:001 | การเชื่อมต่อในสภาพแวดล้อมใช้งานจริงต้องผ่าน HTTPS/TLS | UN12.004 | Security – TLS & Secret Configuration | - |
|
||||
| CR06:002 | ค่าตั้งค่าและความลับของระบบต้องไม่ถูกเก็บใน Source Control และไม่เข้าถึงได้จากเว็บสาธารณะ | SR01:005 | ค่าตั้งค่าและความลับ (app/config.php, .env) ต้องถูกยกเว้นจาก Source Control และสร้างขึ้นตอนติดตั้ง | UN13.003, UN12.004 | Deploy – .env Generator / Security – TLS & Secret Configuration | - |
|
||||
| CR06:003 | การทำงานฝั่งเซิร์ฟเวอร์ต้องตรวจสอบข้อมูลนำเข้า ยืนยันตัวตน ตรวจสิทธิ์ และจำกัดขอบเขตบริษัท/คลัง | SR07:002 | การทำงานฝั่งเซิร์ฟเวอร์ต้องตรวจสอบข้อมูลนำเข้า ยืนยันตัวตน ตรวจสิทธิ์ และจำกัดขอบเขตบริษัท/คลัง | UN12.002 | Security – Server-side Validation | - |
|
||||
| CR06:004 | ระบบต้องจำกัดสิทธิ์การเข้าถึงตามบทบาท (Role-based Access Control) ทั้งใน UI และฝั่งเซิร์ฟเวอร์ | SR07:005 | RBAC (Owner/Admin/Staff/Viewer) ต้องบังคับใช้ที่ฝั่งเซิร์ฟเวอร์ ไม่ใช่เพียงการซ่อนเมนู | UN01.002 | Identity – Login & Role Guard | - |
|
||||
| CR06:005 | ระบบต้องป้องกัน SQL Injection และ Cross-Site Scripting | SR07:004 | ระบบต้องป้องกัน SQL Injection และ Cross-Site Scripting ทั้งด้านรับข้อมูลและแสดงผล | UN12.002 | Security – Server-side Validation | - |
|
||||
| CR06:006 | ระบบต้องบล็อกการเข้าสู่ระบบซ้ำซ้อน (Concurrent Login) ของบัญชีเดียวกัน | SR07:003 | ระบบต้องอนุญาต Session ที่ใช้งานอยู่เพียงหนึ่งต่อบัญชี (บล็อก Concurrent Login) | UN01.003 | Identity – Password Recovery / OTP / Session | - |
|
||||
| CR07: Environmental Considerations | | | | | | |
|
||||
| CR07:001 | ระบบต้องทำงานบน Linux Server ในรูปแบบติดตั้งเอง (LAMP) หรือ Docker Compose | SR01:003 | ระบบต้องติดตั้งบน Linux Server ได้ทั้งแบบ Manual (setup.php) และ Docker Compose (php-apache, mariadb, node/pm2) | UN13.001, UN13.002 | Deploy – setup.php Schema Installer / Deploy – Docker Compose Stack | - |
|
||||
| CR07:002 | ระบบต้องใช้เขตเวลา Asia/Bangkok อย่างสม่ำเสมอทั้งแอปพลิเคชันและงานตามกำหนดเวลา | SR01:006 | แอปพลิเคชันและงานตามกำหนดเวลาต้องใช้เขตเวลา Asia/Bangkok | UN11.002 | Node – Scheduler (ETL & Alerts) | - |
|
||||
| CR07:003 | ระบบต้องใช้งานได้บนอุปกรณ์ Desktop และอุปกรณ์พกพาผ่าน Web Browser | SR06:003, SR02:002 | ระบบต้องรองรับ Mobile/Tablet Browser ผ่าน Responsive UI / ส่วนติดต่อผู้ใช้ต้องเป็น Responsive Design รองรับ Desktop / Tablet / Mobile | UN01.002 | Identity – Login & Role Guard | - |
|
||||
| CR07:004 | ระบบต้องแยกข้อมูลสาธิต/ทดสอบออกจากข้อมูลใช้งานจริงได้ | SR01:003 | ระบบต้องติดตั้งบน Linux Server ได้ทั้งแบบ Manual (setup.php) และ Docker Compose (php-apache, mariadb, node/pm2) | UN13.001 | Deploy – setup.php Schema Installer | - |
|
||||
| CR08: Operational Considerations | | | | | | |
|
||||
| CR08:001 | ระบบต้องมีการสำรองฐานข้อมูลอัตโนมัติรายวัน | SR01:003 | ระบบต้องติดตั้งบน Linux Server ได้ทั้งแบบ Manual (setup.php) และ Docker Compose (php-apache, mariadb, node/pm2) | UN13.004 | Deploy – Backup & Restore | - |
|
||||
| CR08:002 | ระบบต้องกู้คืนข้อมูลจากชุดสำรองได้ตามขั้นตอนที่จัดทำเป็นเอกสาร | SR01:003 | ระบบต้องติดตั้งบน Linux Server ได้ทั้งแบบ Manual (setup.php) และ Docker Compose (php-apache, mariadb, node/pm2) | UN13.004 | Deploy – Backup & Restore | - |
|
||||
| CR08:003 | ระบบต้องมีการเฝ้าระวังสถานะบริการ Web, Database และ Node.js พร้อมแจ้งเตือนเมื่อขัดข้อง | SR05:004 | ระบบต้องมี Health Check ทุก 5 นาที และแจ้งเตือนผู้ดูแลเมื่อล้มเหลวติดต่อกัน 2 ครั้ง | - | - | Product Operation Guide (การเฝ้าระวังระบบ) |
|
||||
| CR08:004 | ระบบต้องรองรับหลายบริษัท (Multi-company) และหลายคลังสินค้าภายใต้การแยกข้อมูล | SR04:003 | โมดูลรายงานต้องอ่านข้อมูลภายใต้ขอบเขตบริษัท/คลังที่โมดูลข้อมูลหลักและคลังสินค้าบังคับใช้ | UN12.001 | Security – Tenant Scope Guard | - |
|
||||
| CR08:005 | งานตามกำหนดเวลาต้องทำงานสำเร็จโดยไม่สร้างผลลัพธ์ซ้ำหรือเกินสิทธิ์ | SR05:002 | ยอดสรุปสต๊อก/GL/แดชบอร์ดต้องคำนวณล่วงหน้าตามกำหนดเวลา (etl_stock_summary, etl_gl_summary) | UN11.002 | Node – Scheduler (ETL & Alerts) | - |
|
||||
| CR09: Maintenance Considerations | | | | | | |
|
||||
| CR09:001 | ซอฟต์แวร์ต้องมีโครงสร้างแบบโมดูล (Manager Classes / API) เพื่อให้แก้ไขได้โดยไม่กระทบส่วนอื่น | SR02:003, SR02:004 | ตรรกะทางธุรกิจต้องจัดเป็น Manager/Service Classes ที่เรียกใช้จาก Page Controller แยกจากส่วนแสดงผล / การเข้าถึงข้อมูลต้องผ่าน Manager Classes ไม่กระจาย SQL ในหน้าเพจ | - | - | Software Design (Software Unit), Software Components |
|
||||
| CR09:002 | ระบบต้องมีแม่แบบค่าตั้งค่า (Configuration Template) และควบคุมเวอร์ชันด้วย Git | SR01:005 | ค่าตั้งค่าและความลับ (app/config.php, .env) ต้องถูกยกเว้นจาก Source Control และสร้างขึ้นตอนติดตั้ง | UN13.003 | Deploy – .env Generator | - |
|
||||
| CR09:003 | ระบบต้องมีเอกสารคู่มือการบำรุงรักษาและประวัติข้อบกพร่องที่แก้ไขแล้ว | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | - | - | Maintenance Document, Correction Register |
|
||||
| CR09:004 | การเปลี่ยนแปลงโครงสร้างฐานข้อมูลต้องสะท้อนใน setup.php และตาราง schema_migrations | SR08:005, SR08:004 | ตารางทั้งหมดต้องสร้างซ้ำได้ในสภาพแวดล้อมใหม่ผ่าน setup.php โดยไม่ต้องแก้ Schema ด้วยมือ / ตารางสรุปยอดและควบคุมเอกสาร: etl_stock_summary, etl_gl_summary, document_number_sequences, document_types, schema_migrations | UN13.001 | Deploy – setup.php Schema Installer | - |
|
||||
| CR10: Installation Considerations | | | | | | |
|
||||
| CR10:001 | ระบบต้องติดตั้งฐานข้อมูลได้ในขั้นตอนเดียวผ่าน setup.php | SR01:003, SR08:005 | ระบบต้องติดตั้งบน Linux Server ได้ทั้งแบบ Manual (setup.php) และ Docker Compose (php-apache, mariadb, node/pm2) / ตารางทั้งหมดต้องสร้างซ้ำได้ในสภาพแวดล้อมใหม่ผ่าน setup.php โดยไม่ต้องแก้ Schema ด้วยมือ | UN13.001 | Deploy – setup.php Schema Installer | - |
|
||||
| CR10:002 | ระบบต้องติดตั้งแบบ Container ได้ด้วยคำสั่ง docker compose up -d --build | SR02:005 | ระบบต้องติดตั้งเป็น Container Stack ผ่าน Docker Compose ได้ นอกเหนือจากการติดตั้งแบบ Manual | UN13.002 | Deploy – Docker Compose Stack | - |
|
||||
| CR10:003 | ระบบต้องมีสคริปต์สร้างไฟล์ .env และค่าความลับอัตโนมัติ (docker/init-env.sh) | SR01:005 | ค่าตั้งค่าและความลับ (app/config.php, .env) ต้องถูกยกเว้นจาก Source Control และสร้างขึ้นตอนติดตั้ง | UN13.003 | Deploy – .env Generator | - |
|
||||
| CR10:004 | ระบบต้องมีเอกสารขั้นตอนการติดตั้งและตั้งค่า | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | UN13.001, UN13.002 | Deploy – setup.php Schema Installer / Deploy – Docker Compose Stack | Product Operation Guide (ขั้นตอนติดตั้ง) |
|
||||
| CR11: Support Considerations | | | | | | |
|
||||
| CR11:001 | ต้องมีคู่มือผู้ใช้งาน (Software User Document) | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | - | - | Software User Document (WP 8.0) |
|
||||
| CR11:002 | ต้องมีคู่มือปฏิบัติงานสำหรับผู้ดูแลระบบ (Product Operation Guide) | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | - | - | Product Operation Guide (WP 10.0) |
|
||||
| CR11:003 | ต้องมีการอบรมผู้ใช้งานก่อนเปิดใช้งานจริง | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | - | - | Training Report |
|
||||
| CR11:004 | ต้องมีช่องทางสนับสนุนและระดับการให้บริการ (SLA) หลังส่งมอบ | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | - | - | Maintenance Document (SLA) |
|
||||
| CR12: Design Constraints | | | | | | |
|
||||
| CR12:001 | ระบบต้องพัฒนาด้วย PHP, MariaDB และ Node.js ตามที่องค์กรอนุมัติ | SR01:002 | ระบบต้องใช้เทคโนโลยี PHP 8 ขึ้นไป, MySQL/MariaDB และ Node.js (Socket.IO, pm2) | UN13.001 | Deploy – setup.php Schema Installer | - |
|
||||
| CR12:002 | ระบบต้องควบคุม Source Code ด้วย Git โดยมี main เป็น Baseline หลัก | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | - | - | Software Configuration, Project Repository |
|
||||
| CR12:003 | รหัสผ่านผู้ใช้ต้องเข้ารหัสด้วย bcrypt และไม่เก็บหรือบันทึกเป็นข้อความธรรมดา | SR01:004 | รหัสผ่านผู้ใช้ต้องเข้ารหัสด้วย bcrypt (PASSWORD_BCRYPT) และไม่เก็บหรือบันทึกเป็นข้อความธรรมดา | UN01.003 | Identity – Password Recovery / OTP / Session | - |
|
||||
| CR12:004 | โครงการต้องจัดทำ Work Products ตามมาตรฐาน ISO/IEC 29110 Basic Profile | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | - | - | List of Evidence, Verification Results |
|
||||
| CR13: Safety and Reliability Considerations | | | | | | |
|
||||
| CR13:001 | การเปลี่ยนแปลงฐานข้อมูลที่เกี่ยวข้องกัน (เอกสาร + สต๊อก + GL) ต้องเป็น Transaction เดียวกัน | SR09:003 | การเปลี่ยนแปลงที่เกี่ยวข้องกัน (เอกสาร + สต๊อก + GL) ต้องเป็น Transaction และป้องกันยอดติดลบ/ซ้ำ | UN08.002 | Accounting – Journal & GL Posting | - |
|
||||
| CR13:002 | ระบบต้องป้องกันยอดสต๊อกติดลบและความเคลื่อนไหวซ้ำซ้อน | SR09:003 | การเปลี่ยนแปลงที่เกี่ยวข้องกัน (เอกสาร + สต๊อก + GL) ต้องเป็น Transaction และป้องกันยอดติดลบ/ซ้ำ | UN04.002 | ICS – Stock-out | - |
|
||||
| CR13:003 | ระบบต้องรองรับการสำรองและกู้คืน (Backup & Recovery) ทั้ง Source Code และฐานข้อมูล | SR01:003 | ระบบต้องติดตั้งบน Linux Server ได้ทั้งแบบ Manual (setup.php) และ Docker Compose (php-apache, mariadb, node/pm2) | UN13.004 | Deploy – Backup & Restore | - |
|
||||
| CR13:004 | ระบบต้องจัดการข้อผิดพลาดโดยแสดงข้อความที่เข้าใจได้แทน Fatal Error | SR09:002 | ข้อผิดพลาดต้องแสดงข้อความที่ผู้ใช้เข้าใจได้แทน Fatal Error | UN10.002 | Document – Lifecycle & Status | - |
|
||||
| CR14: Quality Expectations | | | | | | |
|
||||
| CR14:001 | ระบบต้องผ่านการทดสอบตาม Test Case ที่กำหนดก่อนส่งมอบ | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | - | - | Test Report |
|
||||
| CR14:002 | ทุกความต้องการต้องสอบกลับได้ถึงการออกแบบ ส่วนประกอบ และหลักฐานการทดสอบ | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | - | - | Traceability Record |
|
||||
| CR14:003 | ระบบต้องผ่านการทดสอบการยอมรับ (UAT) โดยตัวแทนลูกค้าบนสภาพแวดล้อมใช้งานจริง | SR01:001 | ระบบต้องพัฒนาและจัดทำเอกสารให้สอดคล้องกับมาตรฐาน ISO/IEC 29110 Basic Profile และแนวปฏิบัติ Secure Coding | - | - | Validation Results, Acceptance Report |
|
||||
| CR14:004 | ต้องไม่มีข้อบกพร่องระดับวิกฤตค้างอยู่ในด้านความปลอดภัย การแยกข้อมูล และความถูกต้องของสต๊อก/บัญชี | SR07:002 | การทำงานฝั่งเซิร์ฟเวอร์ต้องตรวจสอบข้อมูลนำเข้า ยืนยันตัวตน ตรวจสิทธิ์ และจำกัดขอบเขตบริษัท/คลัง | UN12.001, UN12.002 | Security – Tenant Scope Guard / Security – Server-side Validation | Test Report, Correction Register |
|
||||
|
||||
หมายเหตุ: ความต้องการที่เป็นเอกสาร การอบรม หรือหลักฐานด้านคุณภาพ สอบกลับไปยังเอกสารส่งมอบที่เป็นหลักฐานในคอลัมน์ "หลักฐานอื่น" แทน Software Unit
|
||||
|
||||
@@ -122,14 +122,11 @@
|
||||
| ความต้องการของลูกค้าทั้งหมด (CR01–CR14) | 80 |
|
||||
| เชื่อมโยงกับความต้องการซอฟต์แวร์ (SRS) | 80 |
|
||||
| เชื่อมโยงกับ Software Unit | 68 |
|
||||
| เชื่อมโยงกับ Test Case | 68 |
|
||||
| ยืนยันด้วยเอกสารส่งมอบ (ไม่มี Software Unit) | 12 |
|
||||
| มีหลักฐานยืนยันครบ (Test Case หรือเอกสาร) | 80 |
|
||||
| ความต้องการซอฟต์แวร์ทั้งหมด (SR01–SR09) | 49 |
|
||||
| Software Unit ทั้งหมด | 45 |
|
||||
| Test Case ทั้งหมด | 45 |
|
||||
|
||||
ความต้องการทุกรายการมีเส้นทางการสอบกลับที่ครบถ้วนตั้งแต่ความต้องการของลูกค้าจนถึง Test Case และผลการทดสอบ โดยผลการทดสอบทั้งหมดผ่านในรอบทดสอบระหว่าง 10 สิงหาคม 2569 – 14 สิงหาคม 2569
|
||||
ความต้องการทุกรายการเชื่อมโยงกับความต้องการซอฟต์แวร์ และเชื่อมโยงกับ Software Unit หรือเอกสารส่งมอบที่เป็นหลักฐาน Test Case ของแต่ละ Software Unit จะกำหนดใน Test Case and Test Procedures (WP 6.0) ก่อนรอบทดสอบระบบ
|
||||
|
||||
## ผู้จัดทำเอกสาร (Secretary)
|
||||
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@
|
||||
| 4 | Deployment Package | ชุดติดตั้ง Docker Compose (php-apache, mariadb, node/pm2) | `docker-compose.yml`, `docker/` | `6c39700` |
|
||||
| 5 | Configuration Template | แม่แบบค่าตั้งค่าและสคริปต์สร้าง `.env` | `.env.example`, `docker/init-env.sh` | `6c39700` |
|
||||
| 6 | Demo Data | สคริปต์สร้างข้อมูลสาธิตสำหรับตรวจรับ | `demo_seed*.php` | `dd48a8b` |
|
||||
| 7 | Document Package | เอกสาร Work Products และชุด PDF ที่ส่งมอบ | `sdlc/`, `sdlc-delivery/` | Tag `sdlc-v1.0-final` |
|
||||
| 7 | Document Package | เอกสาร Work Products และชุด PDF ที่ส่งมอบ | `sdlc/`, `sdlc-delivery/` | Branch `sdlc` |
|
||||
|
||||
## รายการ Software Unit ที่พัฒนาแล้ว
|
||||
|
||||
|
||||
+49
-49
@@ -22,65 +22,65 @@
|
||||
| ทดสอบระบบตาม Test Case | Internal Testing Server (PHP 8, MariaDB, Node.js) | คุณปริญ งามขำ (QA/Tester) |
|
||||
| ทดสอบการยอมรับ (UAT) | สภาพแวดล้อมใช้งานจริงของลูกค้า | คุณเสรี วิริยะสกุลธรณ์ (Project Sponsor / ตัวแทนลูกค้า) |
|
||||
|
||||
การทดสอบระบบดำเนินการบน Internal Testing Server จึงสามารถทดสอบกรณีที่มีความเสี่ยงสูง เช่น การจำลองความล้มเหลวและ Rollback (TC-UN08.002) ได้โดยไม่กระทบข้อมูลของลูกค้า สถานะของ Repository ที่ใกล้เคียงที่สุด ณ สิ้นสุดรอบทดสอบคือ Commit `dd48a8b`
|
||||
การทดสอบระบบดำเนินการบน Internal Testing Server จึงสามารถทดสอบกรณีที่มีความเสี่ยงสูง เช่น การจำลองความล้มเหลวและ Rollback (TC-UN08.002) ได้โดยไม่กระทบข้อมูลของลูกค้า รอบทดสอบระบบกำหนดไว้ระหว่าง 10 สิงหาคม 2569 – 14 สิงหาคม 2569 และผลการทดสอบบันทึกใน Test Report
|
||||
|
||||
## ตาราง Test Case
|
||||
|
||||
| No | Test Case ID | Test Item | Input Specifications | Output Specifications | Environment / Needs | Special Procedural Required | Intercase Dependency | Status | Test Date |
|
||||
| :---: | :---: | --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| 1 | TC-UN01.001 | UN01.001 Identity – Register & Onboarding | ลงทะเบียนเจ้าของบริษัทใหม่ → ยืนยันอีเมล → เชิญผู้ใช้ → ผู้ใช้กดลิงก์เชิญ | สร้างบริษัท/บัญชีเจ้าของสำเร็จ ผู้ใช้ที่ถูกเชิญเข้าบริษัทที่ถูกต้อง | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, SMTP ทดสอบ | ต้องส่งอีเมลได้จริง | - | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 2 | TC-UN01.002 | UN01.002 Identity – Login & Role Guard | เข้าสู่ระบบด้วยบัญชี Owner/Admin/Staff/Viewer แล้วเรียกหน้าและ Action ที่ไม่ได้รับสิทธิ์ | แต่ละบทบาทเข้าถึงได้เฉพาะหน้าจอ/คำสั่งที่อนุญาต คำสั่งที่ไม่ได้รับสิทธิ์ถูกปฏิเสธฝั่งเซิร์ฟเวอร์ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | ต้องมีบัญชีทดสอบครบ 4 บทบาท | TC-UN01.001 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 3 | TC-UN01.003 | UN01.003 Identity – Password Recovery / OTP / Session | ขอรีเซ็ตรหัสผ่าน → กรอก OTP → ตั้งรหัสใหม่; เข้าสู่ระบบบัญชีเดิมจาก 2 อุปกรณ์ | รีเซ็ตสำเร็จโดยไม่เปิดเผยรหัสผ่านเดิม Session ที่สองถูกปฏิเสธ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, SMTP ทดสอบ | - | TC-UN01.002 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 4 | TC-UN01.004 | UN01.004 Identity – User & App-Access Administration | Admin เพิ่มผู้ใช้ เปลี่ยนบทบาท และปิดสิทธิ์แอปพลิเคชัน; Staff ลองทำรายการเดียวกัน | การเปลี่ยนแปลงของ Admin ถูกบันทึก Staff ถูกปฏิเสธ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN01.002 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 5 | TC-UN02.001 | UN02.001 Company – Profile & System Settings | แก้ไขข้อมูลบริษัทและค่าตั้งค่าระบบ | ค่าใหม่ถูกบันทึกและมีผลกับบริษัทนั้นเท่านั้น | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN01.002 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 6 | TC-UN02.002 | UN02.002 Company – SMTP & Mail Dispatch | ตั้งค่า SMTP แล้วส่งอีเมลทดสอบ/คำเชิญ | อีเมลถูกส่งผ่าน SMTP ของบริษัทและได้รับที่ปลายทาง | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, SMTP ทดสอบ | ต้องมีบัญชี SMTP ทดสอบ | TC-UN02.001 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 7 | TC-UN03.001 | UN03.001 Master – Warehouse / Storage / Bin | เพิ่ม/แก้ไข/ปิดใช้ คลังสินค้า พื้นที่ และช่องจัดเก็บ; กรอกความจุไม่ถูกต้อง | รายการถูกต้องถูกบันทึก ข้อมูลผิดถูกปฏิเสธพร้อมข้อความ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN01.002 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 8 | TC-UN03.002 | UN03.002 Master – Product & Category | เพิ่มหมวดสินค้าและสินค้าพร้อมหน่วยนับ | สินค้าแสดงในรายการและเลือกใช้ในรายการสต๊อกได้ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN01.002 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 9 | TC-UN03.003 | UN03.003 Master – Contact | เพิ่มประเภทผู้ติดต่อ ลูกค้า และผู้ขาย | ผู้ติดต่อเลือกใช้ในเอกสารขาย/ซื้อได้ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN01.002 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 10 | TC-UN03.004 | UN03.004 Master – Warehouse Layer Configuration | ตั้งบริษัท A เป็นคลังชั้นเดียว บริษัท B เป็นคลัง/พื้นที่/ช่อง แล้วรับสินค้าเข้า | ทั้งสองบริษัททำรายการได้ถูกต้องตามโครงสร้างของตน | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, 2 บริษัททดสอบ | - | TC-UN03.001 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 11 | TC-UN04.001 | UN04.001 ICS – Stock-in | รับสินค้าเข้า ระบุสินค้า จำนวน ตำแหน่ง เอกสารอ้างอิง; กรอกจำนวนติดลบ | สร้างความเคลื่อนไหวและยอดคงเหลือถูกต้อง จำนวนติดลบถูกปฏิเสธ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN03.002 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 12 | TC-UN04.002 | UN04.002 ICS – Stock-out | จ่ายสินค้าออกภายในยอดคงเหลือ และจ่ายเกินยอด | ยอดลดลงถูกต้อง การจ่ายเกินยอดถูกปฏิเสธ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN04.001 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 13 | TC-UN04.003 | UN04.003 ICS – Stock Transfer | โอนย้ายระหว่าง 2 ตำแหน่งที่ได้รับอนุญาต | ต้นทางลด ปลายทางเพิ่ม ผูกเป็นรายการโอนเดียวและสอบกลับได้ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN04.001 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 14 | TC-UN04.004 | UN04.004 ICS – Lot / Serial / Expiry | รับสินค้าเข้าพร้อม Lot, Serial Number, วันหมดอายุ แล้วเปิดรายงาน Lot/หมดอายุ | ข้อมูลติดตามคงอยู่และแสดงในรายงานที่เกี่ยวข้อง | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN04.001 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 15 | TC-UN04.005 | UN04.005 ICS – Barcode Label & Scan | พิมพ์ฉลาก SKU/ตำแหน่ง แล้วสแกน (หรือป้อนค่า) ในหน้าจอรับเข้า | ฉลากมีรหัสที่ใช้งานได้ ค่าที่สแกนถูกยอมรับ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, เครื่องสแกนหรือจำลอง | เครื่องพิมพ์/สแกน (ถ้ามี) | TC-UN03.002 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 16 | TC-UN04.006 | UN04.006 ICS – File Attachment | แนบไฟล์ที่อนุญาตและไฟล์ที่ไม่อนุญาตกับรายการ; ผู้ใช้บริษัทอื่นเรียกดู | ไฟล์ที่อนุญาตอัปโหลด/เรียกดูได้เฉพาะผู้มีสิทธิ์ ไฟล์ที่ไม่อนุญาตถูกปฏิเสธ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | เตรียมไฟล์ตัวอย่าง | TC-UN03.002 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 17 | TC-UN05.001 | UN05.001 Sales – Quotation | สร้างใบเสนอราคาให้ลูกค้าและแปลงเป็นใบสั่งขาย | ใบสั่งขายถูกสร้างพร้อมอ้างอิงใบเสนอราคา | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN03.003 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 18 | TC-UN05.002 | UN05.002 Sales – Sales Order | ยืนยันใบสั่งขายและตรวจสต๊อก | สถานะเปลี่ยนตามที่อนุญาตและตัดสต๊อกถูกต้อง | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN05.001, TC-UN04.001 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 19 | TC-UN05.003 | UN05.003 Sales – Invoice | ออกใบแจ้งหนี้จากใบสั่งขาย | ใบแจ้งหนี้ได้เลขที่เอกสารและบันทึก GL สมดุล | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN05.002 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 20 | TC-UN05.004 | UN05.004 Sales – Return / Credit Note | รับคืนสินค้าและออกใบลดหนี้ | สต๊อกเพิ่มกลับและบัญชีปรับตามใบลดหนี้ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN05.003 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 21 | TC-UN06.001 | UN06.001 Purchasing – Purchase Request | สร้างและอนุมัติใบขอซื้อ | ใบขอซื้ออยู่ในสถานะอนุมัติ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN03.003 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 22 | TC-UN06.002 | UN06.002 Purchasing – Purchase Order | แปลงใบขอซื้อเป็นใบสั่งซื้อ | ใบสั่งซื้อถูกสร้างพร้อมอ้างอิงใบขอซื้อ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN06.001 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 23 | TC-UN06.003 | UN06.003 Purchasing – Purchase Invoice | บันทึกใบแจ้งหนี้ซื้อและรับสินค้าเข้าคลัง | สต๊อกเพิ่มและ GL บันทึกสมดุล | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN06.002 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 24 | TC-UN06.004 | UN06.004 Purchasing – Supplier Return | คืนสินค้าให้ผู้ขาย | สต๊อกลดและบัญชีปรับตามใบคืน | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN06.003 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 25 | TC-UN07.001 | UN07.001 Finance – Receipt Billing & Receipt | วางบิลรับและบันทึกใบเสร็จรับเงินกับใบแจ้งหนี้ | ยอดค้างชำระลดลง เอกสารเชื่อมโยงกันและมีประวัติ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN05.003 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 26 | TC-UN07.002 | UN07.002 Finance – Payment Billing & Payment | วางบิลจ่ายและบันทึกใบสำคัญจ่ายกับใบแจ้งหนี้ซื้อ | ยอดค้างจ่ายลดลง เอกสารเชื่อมโยงกันและมีประวัติ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN06.003 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 27 | TC-UN08.001 | UN08.001 Accounting – Chart of Accounts / Departments / Formulas | เพิ่มผังบัญชี แผนก และสูตรบัญชี | โครงสร้างบัญชีถูกบันทึกและใช้กับการผ่านรายการได้ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN01.004 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 28 | TC-UN08.002 | UN08.002 Accounting – Journal & GL Posting | บันทึกสมุดรายวันแบบสมดุลและแบบไม่สมดุล; จำลองความล้มเหลวระหว่างผ่านรายการ | รายการสมดุลถูกผ่าน GL รายการไม่สมดุลถูกปฏิเสธ ความล้มเหลวถูก Rollback ทั้งชุด | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | ต้องจำลองความล้มเหลวบน Testing Server | TC-UN08.001 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 29 | TC-UN09.001 | UN09.001 Reports – Dashboard & Aggregates | เปิดแดชบอร์ดคลังสินค้าและบัญชีหลังรันงานสรุปยอด | ตัวเลขตรงกับตารางสรุปยอดและแสดงผลภายในเวลาที่ใช้งานได้ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN11.002 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 30 | TC-UN09.002 | UN09.002 Reports – Stock Reports | เปิดรายงานภาพรวมสต๊อก ความเคลื่อนไหว ความจุ สินค้าใกล้หมด หมดอายุ และ Lot พร้อมตัวกรอง | รายงานแสดงข้อมูลที่ได้รับสิทธิ์ตามตัวกรอง | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN04.001–TC-UN04.004 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 31 | TC-UN09.003 | UN09.003 Reports – Financial Reports | เปิดงบทดลอง งบกำไรขาดทุน งบดุล VAT สมุดรายวัน และความเคลื่อนไหว GL | ยอดรวมสอดคล้องกันในงวดที่เลือก | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN08.002 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 32 | TC-UN09.004 | UN09.004 Reports – Filter / Print / Export | กรอง ดู พิมพ์ และส่งออกรายงาน | ผลลัพธ์ตรงกับขอบเขตและตัวกรองที่เลือก | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN09.002 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 33 | TC-UN10.001 | UN10.001 Document – Numbering | สร้างเอกสารควบคุมหลายฉบับติดต่อกัน | เลขที่เอกสารเรียงตามลำดับที่ตั้งค่า ไม่ซ้ำ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN05.001 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 34 | TC-UN10.002 | UN10.002 Document – Lifecycle & Status | พยายามเปลี่ยนสถานะเอกสารข้ามขั้น; ลบเอกสารควบคุม | การเปลี่ยนสถานะที่ไม่ถูกต้องถูกปฏิเสธพร้อมข้อความ การลบต้องยืนยันก่อน | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN10.001 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 35 | TC-UN10.003 | UN10.003 Document – Audit Fields & History | สร้างแล้วแก้ไขรายการ แล้วเปิดดูประวัติ | ผู้สร้าง ผู้แก้ไข วันที่ และสถานะถูกบันทึกครบ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN03.002 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 36 | TC-UN11.001 | UN11.001 Node – Socket.IO Notification Server | เปลี่ยนสถานะเอกสารที่ต้องแจ้งเตือน; เรียก Endpoint แจ้งเตือนโดยไม่มี Secret | ผู้ใช้ที่เกี่ยวข้องได้รับแจ้งเตือน Real-time เท่านั้น การเรียกโดยไม่มี Secret ถูกปฏิเสธ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, Node.js + pm2, Internal Testing Server | บริการ Node.js ทำงานอยู่ | TC-UN01.002 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 37 | TC-UN11.002 | UN11.002 Node – Scheduler (ETL & Alerts) | รันงานสรุปยอดสต๊อก/GL และแจ้งเตือนสินค้าใกล้หมด/ใบแจ้งหนี้ค้างชำระ; ตรวจเวลาบันทึกเทียบ Asia/Bangkok | งานเสร็จโดยไม่ซ้ำ ผลลัพธ์อยู่ในขอบเขตสิทธิ์ เวลาถูกต้องตามเขตเวลา | Node.js + pm2, Internal Testing Server | Scheduler ทำงานอยู่ | TC-UN04.001, TC-UN07.001 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 38 | TC-UN12.001 | UN12.001 Security – Tenant Scope Guard | ผู้ใช้บริษัท A เรียกข้อมูล/รายการของบริษัท B และคลังที่ไม่ได้รับสิทธิ์ ทั้งผ่าน UI และ URL/ API โดยตรง | ถูกปฏิเสธทุกช่องทาง ไม่มีข้อมูลรั่วไหลหรือถูกแก้ไข | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, 2 บริษัททดสอบ | - | TC-UN01.002, TC-UN03.001 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 39 | TC-UN12.002 | UN12.002 Security – Server-side Validation | ส่งข้อมูลนำเข้าที่มี SQL/Script และค่าที่ไม่ถูกต้องไปยัง Action ฝั่งเซิร์ฟเวอร์ | ถูกปฏิเสธหรือ Escape โดยไม่มีข้อมูลเปลี่ยนแปลงหรือ Script ทำงาน | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, เครื่องมือทดสอบ API | - | TC-UN01.002 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 40 | TC-UN12.003 | UN12.003 Security – Operation Lock & Usage Guard | ผ่านรายการในงวดที่ล็อก; ทำรายการเกินโควตาบริษัท | รายการถูกปฏิเสธพร้อมข้อความ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN08.002 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 41 | TC-UN12.004 | UN12.004 Security – TLS & Secret Configuration | ตรวจ Repository และสภาพแวดล้อมที่ติดตั้งว่ามีความลับหรือไฟล์ตั้งค่าเปิดเผยหรือไม่; เรียกผ่าน HTTPS | ไม่พบความลับใน Git หรือเข้าถึงได้จากเว็บ การเชื่อมต่อผ่าน TLS | Repository, Deployed Environment | - | - | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 42 | TC-UN13.001 | UN13.001 Deploy – setup.php Schema Installer | ติดตั้งบนเครื่องใหม่ด้วย setup.php | ฐานข้อมูลและตารางครบตาม SR08 โดยไม่แก้ Schema ด้วยมือ | Fresh Linux Server, PHP 8, MariaDB | ต้องใช้เครื่องว่าง | - | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 43 | TC-UN13.002 | UN13.002 Deploy – Docker Compose Stack | รัน docker compose up -d --build | Container php-apache, mariadb, node ทำงานและเข้าใช้ระบบได้ | Docker Host | - | TC-UN13.003 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 44 | TC-UN13.003 | UN13.003 Deploy – .env Generator | รัน docker/init-env.sh โดยเว้นค่าความลับว่าง | .env ถูกสร้างพร้อมความลับสุ่ม และไม่ถูก Git ติดตาม | Docker Host | - | - | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 45 | TC-UN13.004 | UN13.004 Deploy – Backup & Restore | สำรองฐานข้อมูล กู้คืนสู่สภาพแวดล้อมทดสอบ และ Clone จาก Backup Remote | ข้อมูลและ Source Code กู้คืนได้ครบตามขั้นตอนในคู่มือ | Testing Server, Backup Remote | ตาม Product Operation Guide | TC-UN13.001 | Passed | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 |
|
||||
| 1 | TC-UN01.001 | UN01.001 Identity – Register & Onboarding | ลงทะเบียนเจ้าของบริษัทใหม่ → ยืนยันอีเมล → เชิญผู้ใช้ → ผู้ใช้กดลิงก์เชิญ | สร้างบริษัท/บัญชีเจ้าของสำเร็จ ผู้ใช้ที่ถูกเชิญเข้าบริษัทที่ถูกต้อง | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, SMTP ทดสอบ | ต้องส่งอีเมลได้จริง | - | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 2 | TC-UN01.002 | UN01.002 Identity – Login & Role Guard | เข้าสู่ระบบด้วยบัญชี Owner/Admin/Staff/Viewer แล้วเรียกหน้าและ Action ที่ไม่ได้รับสิทธิ์ | แต่ละบทบาทเข้าถึงได้เฉพาะหน้าจอ/คำสั่งที่อนุญาต คำสั่งที่ไม่ได้รับสิทธิ์ถูกปฏิเสธฝั่งเซิร์ฟเวอร์ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | ต้องมีบัญชีทดสอบครบ 4 บทบาท | TC-UN01.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 3 | TC-UN01.003 | UN01.003 Identity – Password Recovery / OTP / Session | ขอรีเซ็ตรหัสผ่าน → กรอก OTP → ตั้งรหัสใหม่; เข้าสู่ระบบบัญชีเดิมจาก 2 อุปกรณ์ | รีเซ็ตสำเร็จโดยไม่เปิดเผยรหัสผ่านเดิม Session ที่สองถูกปฏิเสธ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, SMTP ทดสอบ | - | TC-UN01.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 4 | TC-UN01.004 | UN01.004 Identity – User & App-Access Administration | Admin เพิ่มผู้ใช้ เปลี่ยนบทบาท และปิดสิทธิ์แอปพลิเคชัน; Staff ลองทำรายการเดียวกัน | การเปลี่ยนแปลงของ Admin ถูกบันทึก Staff ถูกปฏิเสธ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN01.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 5 | TC-UN02.001 | UN02.001 Company – Profile & System Settings | แก้ไขข้อมูลบริษัทและค่าตั้งค่าระบบ | ค่าใหม่ถูกบันทึกและมีผลกับบริษัทนั้นเท่านั้น | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN01.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 6 | TC-UN02.002 | UN02.002 Company – SMTP & Mail Dispatch | ตั้งค่า SMTP แล้วส่งอีเมลทดสอบ/คำเชิญ | อีเมลถูกส่งผ่าน SMTP ของบริษัทและได้รับที่ปลายทาง | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, SMTP ทดสอบ | ต้องมีบัญชี SMTP ทดสอบ | TC-UN02.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 7 | TC-UN03.001 | UN03.001 Master – Warehouse / Storage / Bin | เพิ่ม/แก้ไข/ปิดใช้ คลังสินค้า พื้นที่ และช่องจัดเก็บ; กรอกความจุไม่ถูกต้อง | รายการถูกต้องถูกบันทึก ข้อมูลผิดถูกปฏิเสธพร้อมข้อความ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN01.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 8 | TC-UN03.002 | UN03.002 Master – Product & Category | เพิ่มหมวดสินค้าและสินค้าพร้อมหน่วยนับ | สินค้าแสดงในรายการและเลือกใช้ในรายการสต๊อกได้ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN01.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 9 | TC-UN03.003 | UN03.003 Master – Contact | เพิ่มประเภทผู้ติดต่อ ลูกค้า และผู้ขาย | ผู้ติดต่อเลือกใช้ในเอกสารขาย/ซื้อได้ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN01.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 10 | TC-UN03.004 | UN03.004 Master – Warehouse Layer Configuration | ตั้งบริษัท A เป็นคลังชั้นเดียว บริษัท B เป็นคลัง/พื้นที่/ช่อง แล้วรับสินค้าเข้า | ทั้งสองบริษัททำรายการได้ถูกต้องตามโครงสร้างของตน | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, 2 บริษัททดสอบ | - | TC-UN03.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 11 | TC-UN04.001 | UN04.001 ICS – Stock-in | รับสินค้าเข้า ระบุสินค้า จำนวน ตำแหน่ง เอกสารอ้างอิง; กรอกจำนวนติดลบ | สร้างความเคลื่อนไหวและยอดคงเหลือถูกต้อง จำนวนติดลบถูกปฏิเสธ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN03.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 12 | TC-UN04.002 | UN04.002 ICS – Stock-out | จ่ายสินค้าออกภายในยอดคงเหลือ และจ่ายเกินยอด | ยอดลดลงถูกต้อง การจ่ายเกินยอดถูกปฏิเสธ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN04.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 13 | TC-UN04.003 | UN04.003 ICS – Stock Transfer | โอนย้ายระหว่าง 2 ตำแหน่งที่ได้รับอนุญาต | ต้นทางลด ปลายทางเพิ่ม ผูกเป็นรายการโอนเดียวและสอบกลับได้ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN04.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 14 | TC-UN04.004 | UN04.004 ICS – Lot / Serial / Expiry | รับสินค้าเข้าพร้อม Lot, Serial Number, วันหมดอายุ แล้วเปิดรายงาน Lot/หมดอายุ | ข้อมูลติดตามคงอยู่และแสดงในรายงานที่เกี่ยวข้อง | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN04.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 15 | TC-UN04.005 | UN04.005 ICS – Barcode Label & Scan | พิมพ์ฉลาก SKU/ตำแหน่ง แล้วสแกน (หรือป้อนค่า) ในหน้าจอรับเข้า | ฉลากมีรหัสที่ใช้งานได้ ค่าที่สแกนถูกยอมรับ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, เครื่องสแกนหรือจำลอง | เครื่องพิมพ์/สแกน (ถ้ามี) | TC-UN03.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 16 | TC-UN04.006 | UN04.006 ICS – File Attachment | แนบไฟล์ที่อนุญาตและไฟล์ที่ไม่อนุญาตกับรายการ; ผู้ใช้บริษัทอื่นเรียกดู | ไฟล์ที่อนุญาตอัปโหลด/เรียกดูได้เฉพาะผู้มีสิทธิ์ ไฟล์ที่ไม่อนุญาตถูกปฏิเสธ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | เตรียมไฟล์ตัวอย่าง | TC-UN03.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 17 | TC-UN05.001 | UN05.001 Sales – Quotation | สร้างใบเสนอราคาให้ลูกค้าและแปลงเป็นใบสั่งขาย | ใบสั่งขายถูกสร้างพร้อมอ้างอิงใบเสนอราคา | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN03.003 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 18 | TC-UN05.002 | UN05.002 Sales – Sales Order | ยืนยันใบสั่งขายและตรวจสต๊อก | สถานะเปลี่ยนตามที่อนุญาตและตัดสต๊อกถูกต้อง | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN05.001, TC-UN04.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 19 | TC-UN05.003 | UN05.003 Sales – Invoice | ออกใบแจ้งหนี้จากใบสั่งขาย | ใบแจ้งหนี้ได้เลขที่เอกสารและบันทึก GL สมดุล | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN05.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 20 | TC-UN05.004 | UN05.004 Sales – Return / Credit Note | รับคืนสินค้าและออกใบลดหนี้ | สต๊อกเพิ่มกลับและบัญชีปรับตามใบลดหนี้ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN05.003 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 21 | TC-UN06.001 | UN06.001 Purchasing – Purchase Request | สร้างและอนุมัติใบขอซื้อ | ใบขอซื้ออยู่ในสถานะอนุมัติ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN03.003 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 22 | TC-UN06.002 | UN06.002 Purchasing – Purchase Order | แปลงใบขอซื้อเป็นใบสั่งซื้อ | ใบสั่งซื้อถูกสร้างพร้อมอ้างอิงใบขอซื้อ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN06.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 23 | TC-UN06.003 | UN06.003 Purchasing – Purchase Invoice | บันทึกใบแจ้งหนี้ซื้อและรับสินค้าเข้าคลัง | สต๊อกเพิ่มและ GL บันทึกสมดุล | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN06.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 24 | TC-UN06.004 | UN06.004 Purchasing – Supplier Return | คืนสินค้าให้ผู้ขาย | สต๊อกลดและบัญชีปรับตามใบคืน | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN06.003 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 25 | TC-UN07.001 | UN07.001 Finance – Receipt Billing & Receipt | วางบิลรับและบันทึกใบเสร็จรับเงินกับใบแจ้งหนี้ | ยอดค้างชำระลดลง เอกสารเชื่อมโยงกันและมีประวัติ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN05.003 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 26 | TC-UN07.002 | UN07.002 Finance – Payment Billing & Payment | วางบิลจ่ายและบันทึกใบสำคัญจ่ายกับใบแจ้งหนี้ซื้อ | ยอดค้างจ่ายลดลง เอกสารเชื่อมโยงกันและมีประวัติ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN06.003 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 27 | TC-UN08.001 | UN08.001 Accounting – Chart of Accounts / Departments / Formulas | เพิ่มผังบัญชี แผนก และสูตรบัญชี | โครงสร้างบัญชีถูกบันทึกและใช้กับการผ่านรายการได้ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN01.004 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 28 | TC-UN08.002 | UN08.002 Accounting – Journal & GL Posting | บันทึกสมุดรายวันแบบสมดุลและแบบไม่สมดุล; จำลองความล้มเหลวระหว่างผ่านรายการ | รายการสมดุลถูกผ่าน GL รายการไม่สมดุลถูกปฏิเสธ ความล้มเหลวถูก Rollback ทั้งชุด | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | ต้องจำลองความล้มเหลวบน Testing Server | TC-UN08.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 29 | TC-UN09.001 | UN09.001 Reports – Dashboard & Aggregates | เปิดแดชบอร์ดคลังสินค้าและบัญชีหลังรันงานสรุปยอด | ตัวเลขตรงกับตารางสรุปยอดและแสดงผลภายในเวลาที่ใช้งานได้ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN11.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 30 | TC-UN09.002 | UN09.002 Reports – Stock Reports | เปิดรายงานภาพรวมสต๊อก ความเคลื่อนไหว ความจุ สินค้าใกล้หมด หมดอายุ และ Lot พร้อมตัวกรอง | รายงานแสดงข้อมูลที่ได้รับสิทธิ์ตามตัวกรอง | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN04.001–TC-UN04.004 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 31 | TC-UN09.003 | UN09.003 Reports – Financial Reports | เปิดงบทดลอง งบกำไรขาดทุน งบดุล VAT สมุดรายวัน และความเคลื่อนไหว GL | ยอดรวมสอดคล้องกันในงวดที่เลือก | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN08.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 32 | TC-UN09.004 | UN09.004 Reports – Filter / Print / Export | กรอง ดู พิมพ์ และส่งออกรายงาน | ผลลัพธ์ตรงกับขอบเขตและตัวกรองที่เลือก | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN09.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 33 | TC-UN10.001 | UN10.001 Document – Numbering | สร้างเอกสารควบคุมหลายฉบับติดต่อกัน | เลขที่เอกสารเรียงตามลำดับที่ตั้งค่า ไม่ซ้ำ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN05.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 34 | TC-UN10.002 | UN10.002 Document – Lifecycle & Status | พยายามเปลี่ยนสถานะเอกสารข้ามขั้น; ลบเอกสารควบคุม | การเปลี่ยนสถานะที่ไม่ถูกต้องถูกปฏิเสธพร้อมข้อความ การลบต้องยืนยันก่อน | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN10.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 35 | TC-UN10.003 | UN10.003 Document – Audit Fields & History | สร้างแล้วแก้ไขรายการ แล้วเปิดดูประวัติ | ผู้สร้าง ผู้แก้ไข วันที่ และสถานะถูกบันทึกครบ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN03.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 36 | TC-UN11.001 | UN11.001 Node – Socket.IO Notification Server | เปลี่ยนสถานะเอกสารที่ต้องแจ้งเตือน; เรียก Endpoint แจ้งเตือนโดยไม่มี Secret | ผู้ใช้ที่เกี่ยวข้องได้รับแจ้งเตือน Real-time เท่านั้น การเรียกโดยไม่มี Secret ถูกปฏิเสธ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, Node.js + pm2, Internal Testing Server | บริการ Node.js ทำงานอยู่ | TC-UN01.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 37 | TC-UN11.002 | UN11.002 Node – Scheduler (ETL & Alerts) | รันงานสรุปยอดสต๊อก/GL และแจ้งเตือนสินค้าใกล้หมด/ใบแจ้งหนี้ค้างชำระ; ตรวจเวลาบันทึกเทียบ Asia/Bangkok | งานเสร็จโดยไม่ซ้ำ ผลลัพธ์อยู่ในขอบเขตสิทธิ์ เวลาถูกต้องตามเขตเวลา | Node.js + pm2, Internal Testing Server | Scheduler ทำงานอยู่ | TC-UN04.001, TC-UN07.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 38 | TC-UN12.001 | UN12.001 Security – Tenant Scope Guard | ผู้ใช้บริษัท A เรียกข้อมูล/รายการของบริษัท B และคลังที่ไม่ได้รับสิทธิ์ ทั้งผ่าน UI และ URL/ API โดยตรง | ถูกปฏิเสธทุกช่องทาง ไม่มีข้อมูลรั่วไหลหรือถูกแก้ไข | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, 2 บริษัททดสอบ | - | TC-UN01.002, TC-UN03.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 39 | TC-UN12.002 | UN12.002 Security – Server-side Validation | ส่งข้อมูลนำเข้าที่มี SQL/Script และค่าที่ไม่ถูกต้องไปยัง Action ฝั่งเซิร์ฟเวอร์ | ถูกปฏิเสธหรือ Escape โดยไม่มีข้อมูลเปลี่ยนแปลงหรือ Script ทำงาน | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server, เครื่องมือทดสอบ API | - | TC-UN01.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 40 | TC-UN12.003 | UN12.003 Security – Operation Lock & Usage Guard | ผ่านรายการในงวดที่ล็อก; ทำรายการเกินโควตาบริษัท | รายการถูกปฏิเสธพร้อมข้อความ | Web Browser (Chrome/Edge/Firefox), PHP 8, MariaDB, Internal Testing Server | - | TC-UN08.002 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 41 | TC-UN12.004 | UN12.004 Security – TLS & Secret Configuration | ตรวจ Repository และสภาพแวดล้อมที่ติดตั้งว่ามีความลับหรือไฟล์ตั้งค่าเปิดเผยหรือไม่; เรียกผ่าน HTTPS | ไม่พบความลับใน Git หรือเข้าถึงได้จากเว็บ การเชื่อมต่อผ่าน TLS | Repository, Deployed Environment | - | - | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 42 | TC-UN13.001 | UN13.001 Deploy – setup.php Schema Installer | ติดตั้งบนเครื่องใหม่ด้วย setup.php | ฐานข้อมูลและตารางครบตาม SR08 โดยไม่แก้ Schema ด้วยมือ | Fresh Linux Server, PHP 8, MariaDB | ต้องใช้เครื่องว่าง | - | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 43 | TC-UN13.002 | UN13.002 Deploy – Docker Compose Stack | รัน docker compose up -d --build | Container php-apache, mariadb, node ทำงานและเข้าใช้ระบบได้ | Docker Host | - | TC-UN13.003 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 44 | TC-UN13.003 | UN13.003 Deploy – .env Generator | รัน docker/init-env.sh โดยเว้นค่าความลับว่าง | .env ถูกสร้างพร้อมความลับสุ่ม และไม่ถูก Git ติดตาม | Docker Host | - | - | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
| 45 | TC-UN13.004 | UN13.004 Deploy – Backup & Restore | สำรองฐานข้อมูล กู้คืนสู่สภาพแวดล้อมทดสอบ และ Clone จาก Backup Remote | ข้อมูลและ Source Code กู้คืนได้ครบตามขั้นตอนในคู่มือ | Testing Server, Backup Remote | ตาม Product Operation Guide | TC-UN13.001 | Ready | ตามแผน 10–14 ส.ค. 69 |
|
||||
|
||||
## Summary
|
||||
|
||||
| No | Topic | Detail |
|
||||
| :---: | --- | --- |
|
||||
| 1 | Test Case | การทดสอบระบบทั้งหมด 45 Test Case ผ่าน 100% |
|
||||
| 2 | Pending | ไม่พบข้อผิดพลาด (Fail) หรือรายการค้าง (Pending) ในรอบการทดสอบนี้ |
|
||||
| 3 | Conclusion | ผลการทดสอบสรุปได้ว่าระบบพร้อมสำหรับ UAT และการส่งมอบ เนื่องจากผลการทดสอบผ่านครบ 100% และเป็นไปตาม Project Plan |
|
||||
| 1 | Test Case | กำหนด Test Case ทั้งหมด 45 รายการ ครอบคลุม Software Unit ทุกหน่วย สถานะพร้อมทดสอบ (Ready) |
|
||||
| 2 | เกณฑ์ผ่าน | ทุก Test Case ต้องได้ผลตาม Output Specifications ข้อบกพร่องที่พบบันทึกใน Correction Register และทดสอบซ้ำจนผ่าน |
|
||||
| 3 | เกณฑ์เข้าสู่ UAT | Test Case ผ่านครบ 100% และไม่มีข้อบกพร่องระดับสูงคงค้าง ผลการทดสอบบันทึกใน Test Report |
|
||||
|
||||
## ผู้จัดทำเอกสาร (Secretary)
|
||||
|
||||
|
||||
+3
-3
@@ -71,14 +71,14 @@
|
||||
4. กรณีกู้คืนระบบใช้งานจริง ให้บันทึกจุดกู้คืน หยุดบริการที่เกี่ยวข้อง กู้คืนชุดสำรองที่ตรวจสอบแล้ว เริ่มบริการแอปพลิเคชันและ Node.js ใหม่ แล้วตรวจสอบสถานะตามหัวข้อ 5
|
||||
5. กรณีการสำรองข้อมูลล้มเหลวหรือไม่ทำงานตามกำหนด ผู้ดูแลระบบต้องตรวจสอบสาเหตุและสั่งทำงานซ้ำ
|
||||
|
||||
การทดสอบกู้คืนดำเนินการเมื่อ 23 สิงหาคม 2569 โดยกู้คืนชุดสำรองลงในสภาพแวดล้อมที่ไม่ใช่ระบบใช้งานจริงสำเร็จ ตรวจสอบการเข้าถึงฐานข้อมูลและข้อมูลตัวอย่างครบถ้วน และผู้จัดการโครงการได้ทบทวนผลการทดสอบในขั้นตอนปิดโครงการ
|
||||
กำหนดทดสอบกู้คืนภายใน 23 สิงหาคม 2569 โดยกู้คืนชุดสำรองลงในสภาพแวดล้อมที่ไม่ใช่ระบบใช้งานจริง ตรวจสอบการเข้าถึงฐานข้อมูลและข้อมูลตัวอย่างให้ครบถ้วน และให้ผู้จัดการโครงการทบทวนผลการทดสอบในขั้นตอนปิดโครงการ
|
||||
|
||||
## 7 การปิดรายการควบคุมด้านปฏิบัติการ
|
||||
|
||||
| ลำดับ | รายการควบคุม | ผู้รับผิดชอบ | สถานะ | หลักฐานการปิดรายการ |
|
||||
| :---: | --- | --- | --- | --- |
|
||||
| OP-001 | การสำรองและกู้คืนฐานข้อมูล `wms` และ `wms2` แบบอัตโนมัติ | System Administrator | ปิดรายการ 23 สิงหาคม 2569 | หัวข้อ 6 ระบุรอบการสำรอง ที่จัดเก็บ การเก็บรักษา ขั้นตอนกู้คืน และผลการทดสอบกู้คืน |
|
||||
| OP-002 | การเฝ้าระวังระบบและการแจ้งเตือนเมื่อเกิดเหตุขัดข้อง | System Administrator | ปิดรายการ 23 สิงหาคม 2569 | หัวข้อ 5 ระบุรอบการตรวจสอบ เงื่อนไขการแจ้งเตือน ผู้รับแจ้ง และขั้นตอนการยกระดับ |
|
||||
| OP-001 | การสำรองและกู้คืนฐานข้อมูล `wms` และ `wms2` แบบอัตโนมัติ | System Administrator | กำหนดปิดรายการ 23 สิงหาคม 2569 | หัวข้อ 6 ระบุรอบการสำรอง ที่จัดเก็บ การเก็บรักษา ขั้นตอนกู้คืน และแผนการทดสอบกู้คืน |
|
||||
| OP-002 | การเฝ้าระวังระบบและการแจ้งเตือนเมื่อเกิดเหตุขัดข้อง | System Administrator | กำหนดปิดรายการ 23 สิงหาคม 2569 | หัวข้อ 5 ระบุรอบการตรวจสอบ เงื่อนไขการแจ้งเตือน ผู้รับแจ้ง และขั้นตอนการยกระดับ |
|
||||
|
||||
## 8 การจัดการผู้ใช้งานและสิทธิ์
|
||||
|
||||
|
||||
+1
-1
@@ -154,7 +154,7 @@
|
||||
| ไม่ผ่าน (Failed) | 0 |
|
||||
| ค้างการทดสอบ | 0 |
|
||||
|
||||
ตัวแทนลูกค้าได้ทดสอบการยอมรับครบทุกความต้องการใน Customer Requirements บนสภาพแวดล้อมใช้งานจริง ผลการทดสอบผ่านทั้งหมด ไม่พบประเด็นที่ขัดขวางการเปิดใช้งาน จึงยืนยันความพร้อมของระบบสำหรับการตรวจรับส่งมอบ ซึ่งบันทึกไว้ใน Acceptance Report เมื่อ 17 สิงหาคม 2569
|
||||
ตัวแทนลูกค้าได้ทดสอบการยอมรับครบทุกความต้องการใน Customer Requirements บนสภาพแวดล้อมใช้งานจริง ผลการทดสอบผ่านทั้งหมด ไม่พบประเด็นที่ขัดขวางการเปิดใช้งาน จึงยืนยันความพร้อมของระบบและเสนอเข้าสู่การตรวจรับส่งมอบตามแผนในวันที่ 17 สิงหาคม 2569
|
||||
|
||||
## ผู้จัดทำเอกสาร (Secretary)
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
| 14 | Software Components | 200-WMS-26-001-00 Software Components 25690817 V1.0 ThS | เอกสารแสดงส่วนประกอบต่าง ๆ ของโปรแกรมแต่ละเวอร์ชัน |
|
||||
| 15 | Test Cases and Test Procedures | 200-WMS-26-001-00 Test Case and Test Procedures 25690731 V1.0 PaNg | เอกสารแสดงตัวอย่างชุดข้อมูลที่ใช้ทดสอบ |
|
||||
| 16 | Test Report | 200-WMS-26-001-00 Test Report 25690814 V1.0 PaNg | บันทึกผลการทดสอบระบบ |
|
||||
| 17 | Software | 200-WMS-26-001-00 Software 25690817 V1.0 ThS | ซอฟต์แวร์สำหรับส่งมอบให้กับผู้ใช้งาน (Baseline `6c39700`, Tag `sdlc-v1.0-final`) |
|
||||
| 17 | Software | 200-WMS-26-001-00 Software 25690817 V1.0 ThS | ซอฟต์แวร์สำหรับส่งมอบให้กับผู้ใช้งาน (Baseline `6c39700`) |
|
||||
| 18 | Software User Documentation | 200-WMS-26-001-00 Software User Document 25690814 V1.0 ThS | เอกสารคู่มือการใช้งานสำหรับผู้ใช้ |
|
||||
| 19 | Product Operation Guide | 200-WMS-26-001-00 Product Operation Guide 25690817 V1.0 ThS | เอกสารคู่มือปฏิบัติงานสำหรับผู้ดูแลระบบ |
|
||||
| 20 | Maintenance Documentation | 200-WMS-26-001-00 Maintenance Document 25690817 V1.0 ThS | เอกสารคู่มือการบำรุงรักษาระบบ |
|
||||
@@ -63,7 +63,7 @@
|
||||
| เอกสารที่จัดเตรียมครบถ้วน | 56 |
|
||||
| เอกสารที่ยังไม่ได้จัดเตรียม | 0 |
|
||||
|
||||
เอกสารและหลักฐานทั้งหมดจัดเก็บใน Project Repository และสำรองไว้ตามที่ระบุในเอกสาร Project Repository (Backup) โดยชุดเอกสารส่งมอบควบคุมด้วย Tag `sdlc-v1.0-final`
|
||||
เอกสารและหลักฐานทั้งหมดจัดเก็บใน Project Repository และสำรองไว้ตามที่ระบุในเอกสาร Project Repository (Backup) โดยชุดเอกสารส่งมอบควบคุมใน Branch `sdlc`
|
||||
|
||||
## ผู้จัดทำเอกสาร (Secretary)
|
||||
|
||||
|
||||
@@ -76,8 +76,8 @@
|
||||
| อนุมัติกฎบัตรโครงการ | 23 มกราคม 2569 | Project Sponsor อนุมัติขอบเขตและวัตถุประสงค์ |
|
||||
| ตั้ง Baseline ความต้องการ | 18 กุมภาพันธ์ 2569 | อนุมัติ Customer Requirements และแผนงาน |
|
||||
| Baseline การพัฒนา | 29 พฤษภาคม 2569 | พัฒนาครบทุกโมดูลตามขอบเขต |
|
||||
| ทดสอบระบบและ UAT | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 | ผลการทดสอบผ่านครบทุกรายการ |
|
||||
| ตรวจรับส่งมอบ | 17 สิงหาคม 2569 | ผลการตรวจรับ Accepted |
|
||||
| ทดสอบระบบและ UAT | 10 สิงหาคม 2569 – 14 สิงหาคม 2569 | Test Case และ UAT ผ่านครบทุกรายการ |
|
||||
| ตรวจรับส่งมอบ | 17 สิงหาคม 2569 | Project Sponsor ลงนามตรวจรับสิ่งส่งมอบ |
|
||||
| ปิดโครงการ | 24 สิงหาคม 2569 | ปิดโครงการอย่างเป็นทางการ |
|
||||
|
||||
## ผู้จัดทำเอกสาร (Secretary)
|
||||
|
||||
Reference in New Issue
Block a user