Files
wms-app/sdlc/1-PM Process (10 Work Product)/2.Project Plan/3-Customer Requirement/200-WMS-26-001-00 Customer Requirements 25690206 V1.0 NoC.md
T
Thanakorn 087e7b3958 docs(sdlc): reformat work products to audited reference layout
Replace the PHP/Markdown seeding with a data-driven generator in
scripts/sdlc-seed and regenerate all 59 work products.
2026-09-09 08:09:54 +07:00

23 KiB
Raw Blame History

Customer Requirements

| Document No | Customer Requirements | Release, Version, By: | 25690206 V1.0 NoC | | Project Name | โครงการพัฒนาระบบบริหารจัดการคลังสินค้า (BRN WMS) บริษัท บี.อาร์.เอ็น เอ็นเตอร์ไพรส์ จำกัด | | Project Code | 200-WMS-26-001-00 | | Title | เอกสารบันทึกและสรุปความต้องการของลูกค้า (Customer Requirements) | | Project Period | 5 มกราคม 2569 – 24 สิงหาคม 2569 | | Organizer | คุณอภิรัชช์ สุภัทรประทีป (Project Manager) , คุณนพพงษ์ เจริญสุข (System Analyst) | | Recorder | คุณเยาวลักษณ์ บางชมภู (Document Control) |

วัตถุประสงค์ (Objective)

เอกสารฉบับนี้จัดทำขึ้นเพื่อบันทึกและสรุปความต้องการของลูกค้า (Customer Requirements) ตามกระบวนการ ISO/IEC 29110 สำหรับใช้เป็นพื้นฐานในการจัดทำ Software Requirements Specification, การออกแบบระบบ, การทดสอบ และการตรวจรับ ของโครงการพัฒนาระบบบริหารจัดการคลังสินค้า (BRN WMS) บริษัท บี.อาร์.เอ็น เอ็นเตอร์ไพรส์ จำกัด

ผู้มีส่วนได้ส่วนเสีย (Stakeholders)

ลำดับ ชื่อ ตำแหน่ง บทบาท
1 คุณเสรี วิริยะสกุลธรณ์ ผู้บริหาร (CEO) Project Sponsor อนุมัติและตัดสินใจเชิงกลยุทธ์
2 คุณอภิรัชช์ สุภัทรประทีป ผู้จัดการโครงการ บริหารโครงการและควบคุมการเปลี่ยนแปลง
3 คุณนพพงษ์ เจริญสุข นักวิเคราะห์ระบบ เก็บและวิเคราะห์ความต้องการ จัดทำเอกสาร
4 หัวหน้าฝ่ายคลังสินค้าและพนักงานคลัง ผู้ใช้งานหลัก ให้ข้อมูลกระบวนการรับเข้า จ่ายออก โอนย้าย และตรวจนับ
5 ฝ่ายขายและฝ่ายจัดซื้อ ผู้ใช้งาน ให้ข้อมูลกระบวนการเอกสารขายและจัดซื้อ
6 ฝ่ายบัญชีและการเงิน ผู้ใช้งาน ให้ข้อมูลการวางบิล รับชำระ จ่ายชำระ และการบันทึกบัญชี

ความต้องการเชิงหน้าที่และไม่ใช่หน้าที่ (Functional and Non-Functional Requirements)

ID Topic Result* Remark
CR01: Feature & Functional Characteristics
CR01:001 ระบบต้องรองรับการลงทะเบียนเจ้าของบริษัทและการเชิญผู้ใช้งานเข้าร่วมบริษัท (Onboarding) A FR-001
CR01:002 ระบบต้องยืนยันตัวตนผู้ใช้และบังคับสิทธิ์ตามบทบาท Owner, Admin, Staff และ Viewer A FR-002
CR01:003 ระบบต้องรองรับการกู้คืนรหัสผ่าน การควบคุม Session และการยืนยัน OTP ตามที่กำหนด A FR-003
CR01:004 ระบบต้องให้ผู้ดูแลจัดการข้อมูลบริษัท, SMTP, การตั้งค่าระบบ, ผู้ใช้งาน และสิทธิ์การเข้าถึงแอปพลิเคชัน A FR-004
CR01:005 ระบบต้องจัดการข้อมูลคลังสินค้า, พื้นที่/ช่องจัดเก็บ, หมวดสินค้า, สินค้า, ประเภทผู้ติดต่อ และผู้ติดต่อ A FR-005
CR01:006 ระบบต้องรองรับโครงสร้างตำแหน่งจัดเก็บทั้งแบบคลังเดียวและแบบหลายชั้น (คลัง/พื้นที่/ช่อง) A FR-006
CR01:007 ระบบต้องบันทึกการรับสินค้าเข้า (Stock-in) ระบุสินค้า จำนวน ตำแหน่ง เอกสารอ้างอิง และข้อมูลติดตาม A FR-007
CR01:008 ระบบต้องบันทึกการจ่ายสินค้าออก (Stock-out) โดยตรวจสอบสิทธิ์และยอดคงเหลือก่อนจ่าย A FR-008
CR01:009 ระบบต้องโอนย้ายสินค้าระหว่างตำแหน่งจัดเก็บที่ได้รับอนุญาตโดยยอดต้นทาง/ปลายทางสมดุลกัน A FR-009
CR01:010 ระบบต้องติดตาม Lot, Serial Number และวันหมดอายุของสินค้าที่เกี่ยวข้อง A FR-010
CR01:011 ระบบต้องแสดงภาพรวมสต๊อก, ประวัติความเคลื่อนไหว, ความจุ/การใช้พื้นที่, สินค้าใกล้หมด, สินค้าหมดอายุ และข้อมูล Lot A FR-011
CR01:012 ระบบต้องพิมพ์บาร์โค้ดสินค้า (SKU) และตำแหน่งจัดเก็บ และรองรับการสแกนในหน้าจอที่กำหนด A FR-012
CR01:013 ระบบต้องสร้างและจัดการใบเสนอราคา, ใบสั่งขาย, ใบแจ้งหนี้, ใบรับคืน และใบลดหนี้ A FR-013
CR01:014 ระบบต้องสร้างและจัดการใบขอซื้อ, ใบสั่งซื้อ, ใบแจ้งหนี้ซื้อ และใบคืนสินค้าผู้ขาย A FR-014
CR01:015 ระบบต้องสร้างและจัดการใบวางบิลรับ, ใบเสร็จรับเงิน, ใบวางบิลจ่าย และใบสำคัญจ่าย A FR-015
CR01:016 ระบบต้องจัดการผังบัญชี, แผนก, สูตรบัญชี, สมุดรายวัน และบัญชีแยกประเภท A FR-016
CR01:017 ระบบต้องจัดทำรายงานงบทดลอง, งบกำไรขาดทุน, งบดุล, ภาษีมูลค่าเพิ่ม, สมุดรายวัน และความเคลื่อนไหว GL A FR-017
CR01:018 ระบบต้องออกเลขที่เอกสารอัตโนมัติและควบคุมสถานะ/วงจรชีวิตของเอกสาร A FR-018
CR01:019 ระบบต้องรองรับการแนบไฟล์ที่อนุญาตกับรายการที่กำหนด A FR-019
CR01:020 ระบบต้องให้ผู้ใช้กรอง ดู พิมพ์ และส่งออกรายงานปฏิบัติการและรายงานผู้บริหาร A FR-020
CR01:021 ระบบต้องแจ้งเตือนผู้ใช้ที่เกี่ยวข้องเมื่อสถานะเอกสารเปลี่ยนหรือมีเหตุการณ์ปฏิบัติการ A FR-021
CR01:022 ระบบต้องสรุปยอดสต๊อก/GL และแจ้งเตือนสินค้าใกล้หมดและใบแจ้งหนี้ค้างชำระตามกำหนดเวลา A FR-022
CR01:023 ระบบต้องเก็บผู้สร้าง ผู้แก้ไข สถานะ และประวัติรายการเพื่อการตรวจสอบ A FR-023
CR01:024 ระบบต้องจำกัดข้อมูลบริษัทและคลังสินค้าให้เฉพาะผู้ใช้ที่ได้รับอนุญาตในบริบทปัจจุบัน A FR-024
CR02: Performance Considerations
CR02:001 ระบบต้องตอบสนองงานประจำวัน (เปิดหน้าจอ, ค้นหา, สร้างเอกสาร) ภายในเวลาที่ใช้งานได้จริงบนสภาพแวดล้อมที่ตกลง A NFR-006
CR02:002 ระบบต้องมีตารางสรุปยอด (Aggregate) เพื่อให้แดชบอร์ดและรายงานแสดงผลได้โดยไม่ต้องคำนวณใหม่ทุกครั้ง A NFR-006
CR02:003 ระบบต้องรองรับปริมาณข้อมูลและผู้ใช้พร้อมกันในระดับที่ตกลงสำหรับสภาพแวดล้อมใช้งานจริง A NFR-006
CR03: Interface Considerations
CR03:001 ระบบต้องเชื่อมต่อฐานข้อมูล MySQL/MariaDB 2 ฐาน (wms สำหรับผู้ใช้/บริษัท และ wms2 สำหรับคลัง/บัญชี) A Operational context
CR03:002 ระบบต้องใช้งานผ่าน Web Browser มาตรฐาน (Chrome, Edge, Firefox) ได้ A NFR-008
CR03:003 ระบบต้องส่งเหตุการณ์ไปยังบริการ Node.js ผ่าน Endpoint ภายในที่ป้องกันด้วย Secret A NFR-002
CR03:004 Browser ต้องเชื่อมต่อ Socket.IO Endpoint สาธารณะเพื่อรับการแจ้งเตือนแบบ Real-time A FR-021
CR03:005 ระบบต้องส่งอีเมล Onboarding, กู้คืนรหัสผ่าน และแจ้งเตือนผ่าน SMTP ที่ตั้งค่าต่อบริษัท A FR-004
CR04: Required System Characteristics
CR04:001 ระบบต้องพัฒนาบนสถาปัตยกรรม Web-based Application A Operational context
CR04:002 ระบบต้องเก็บข้อมูลแบบ Relational Database และรักษา Referential Integrity A Data requirements
CR04:003 ระบบต้องรองรับการเข้าสู่ระบบด้วย Username/Password และกำหนดบทบาทผู้ใช้ A FR-002
CR04:004 ระบบต้องทำงานบน PHP 8 ขึ้นไป, MySQL/MariaDB และ Node.js A NFR-008
CR05: Human Engineering Considerations
CR05:001 UI ต้องเป็น Responsive ใช้งานได้ทั้งบน Desktop และอุปกรณ์หน้าคลังสินค้า (Tablet/Mobile) A NFR-005
CR05:002 เมนูและปุ่มคำสั่งต้องแสดงตามบทบาทและสิทธิ์การเข้าถึงของผู้ใช้ A Interface requirements
CR05:003 ระบบต้องแสดงผลการตรวจสอบข้อมูล สถานะ ความสำเร็จ และข้อผิดพลาดอย่างชัดเจน A Interface requirements
CR05:004 ระบบต้องมีขั้นตอนยืนยันก่อนลบ ยกเลิก หรือทำรายการที่ย้อนกลับไม่ได้ A Usability practice
CR05:005 ระบบต้องพิมพ์เอกสารธุรกิจและฉลากบาร์โค้ดในรูปแบบที่ใช้งานได้ A Interface requirements
CR06: Security Considerations
CR06:001 การเชื่อมต่อในสภาพแวดล้อมใช้งานจริงต้องเข้ารหัสด้วย HTTPS/TLS A NFR-001
CR06:002 ค่าตั้งค่าและความลับของระบบต้องไม่ถูกเก็บใน Source Control และไม่เข้าถึงได้จากเว็บสาธารณะ A NFR-001
CR06:003 การทำงานฝั่งเซิร์ฟเวอร์ต้องตรวจสอบข้อมูลนำเข้า ยืนยันตัวตน ตรวจสิทธิ์ และจำกัดขอบเขตบริษัท/คลัง A NFR-002
CR06:004 ระบบต้องจำกัดสิทธิ์การเข้าถึงตามบทบาท (Role-based Access Control) ทั้งใน UI และฝั่งเซิร์ฟเวอร์ A FR-002
CR06:005 ระบบต้องป้องกัน SQL Injection และ Cross-Site Scripting A NFR-002
CR06:006 ระบบต้องบล็อกการเข้าสู่ระบบซ้ำซ้อน (Concurrent Login) ของบัญชีเดียวกัน A FR-003
CR07: Environmental Considerations
CR07:001 ระบบต้องทำงานบน Linux Server ในรูปแบบติดตั้งเอง (LAMP) หรือ Docker Compose A NFR-004
CR07:002 ระบบต้องใช้เขตเวลา Asia/Bangkok อย่างสม่ำเสมอทั้งแอปพลิเคชันและงานตามกำหนดเวลา A NFR-010
CR07:003 ระบบต้องใช้งานได้บนอุปกรณ์ Desktop และอุปกรณ์พกพาผ่าน Web Browser A NFR-005
CR07:004 ระบบต้องแยกข้อมูลสาธิต/ทดสอบออกจากข้อมูลใช้งานจริงได้ A Data requirements
CR08: Operational Considerations
CR08:001 ระบบต้องมีการสำรองฐานข้อมูลอัตโนมัติรายวัน A NFR-004
CR08:002 ระบบต้องกู้คืนข้อมูลจากชุดสำรองได้ตามขั้นตอนที่จัดทำเป็นเอกสาร A NFR-004
CR08:003 ระบบต้องมีการเฝ้าระวังสถานะบริการ Web, Database และ Node.js พร้อมแจ้งเตือนเมื่อขัดข้อง A NFR-004
CR08:004 ระบบต้องรองรับหลายบริษัท (Multi-company) และหลายคลังสินค้าภายใต้การแยกข้อมูล A FR-024
CR08:005 งานตามกำหนดเวลาต้องทำงานสำเร็จโดยไม่สร้างผลลัพธ์ซ้ำหรือเกินสิทธิ์ A FR-022
CR09: Maintenance Considerations
CR09:001 ซอฟต์แวร์ต้องมีโครงสร้างแบบโมดูล (Manager Classes / API) เพื่อให้แก้ไขได้โดยไม่กระทบส่วนอื่น A NFR-007
CR09:002 ระบบต้องมีแม่แบบค่าตั้งค่า (Configuration Template) และควบคุมเวอร์ชันด้วย Git A NFR-007
CR09:003 ระบบต้องมีเอกสารคู่มือการบำรุงรักษาและประวัติข้อบกพร่องที่แก้ไขแล้ว A NFR-004
CR09:004 การเปลี่ยนแปลงโครงสร้างฐานข้อมูลต้องสะท้อนใน setup.php และตาราง schema_migrations A NFR-007
CR10: Installation Considerations
CR10:001 ระบบต้องติดตั้งฐานข้อมูลได้ในขั้นตอนเดียวผ่าน setup.php A NFR-004
CR10:002 ระบบต้องติดตั้งแบบ Container ได้ด้วยคำสั่ง docker compose up -d --build A NFR-004
CR10:003 ระบบต้องมีสคริปต์สร้างไฟล์ .env และค่าความลับอัตโนมัติ (docker/init-env.sh) A NFR-001
CR10:004 ระบบต้องมีเอกสารขั้นตอนการติดตั้งและตั้งค่า A NFR-004
CR11: Support Considerations
CR11:001 ต้องมีคู่มือผู้ใช้งาน (Software User Document) A Documentation
CR11:002 ต้องมีคู่มือปฏิบัติงานสำหรับผู้ดูแลระบบ (Product Operation Guide) A Documentation
CR11:003 ต้องมีการอบรมผู้ใช้งานก่อนเปิดใช้งานจริง A Training
CR11:004 ต้องมีช่องทางสนับสนุนและระดับการให้บริการ (SLA) หลังส่งมอบ A Maintenance
CR12: Design Constraints
CR12:001 ระบบต้องพัฒนาด้วย PHP, MariaDB และ Node.js ตามที่องค์กรอนุมัติ A NFR-008
CR12:002 ระบบต้องควบคุม Source Code ด้วย Git โดยมี main เป็น Baseline หลัก A Configuration
CR12:003 รหัสผ่านผู้ใช้ต้องเข้ารหัสด้วย bcrypt และไม่เก็บหรือบันทึกเป็นข้อความธรรมดา A NFR-002
CR12:004 โครงการต้องจัดทำ Work Products ตามมาตรฐาน ISO/IEC 29110 Basic Profile A NFR-009
CR13: Safety and Reliability Considerations
CR13:001 การเปลี่ยนแปลงฐานข้อมูลที่เกี่ยวข้องกัน (เอกสาร + สต๊อก + GL) ต้องเป็น Transaction เดียวกัน A NFR-003
CR13:002 ระบบต้องป้องกันยอดสต๊อกติดลบและความเคลื่อนไหวซ้ำซ้อน A NFR-003
CR13:003 ระบบต้องรองรับการสำรองและกู้คืน (Backup & Recovery) ทั้ง Source Code และฐานข้อมูล A NFR-004
CR13:004 ระบบต้องจัดการข้อผิดพลาดโดยแสดงข้อความที่เข้าใจได้แทน Fatal Error A NFR-006
CR14: Quality Expectations
CR14:001 ระบบต้องผ่านการทดสอบตาม Test Case ที่กำหนดก่อนส่งมอบ A Acceptance
CR14:002 ทุกความต้องการต้องสอบกลับได้ถึงการออกแบบ ส่วนประกอบ และหลักฐานการทดสอบ A NFR-009
CR14:003 ระบบต้องผ่านการทดสอบการยอมรับ (UAT) โดยตัวแทนลูกค้าบนสภาพแวดล้อมใช้งานจริง A Acceptance
CR14:004 ต้องไม่มีข้อบกพร่องระดับวิกฤตค้างอยู่ในด้านความปลอดภัย การแยกข้อมูล และความถูกต้องของสต๊อก/บัญชี A Acceptance

Remark

  • * Result : A = Accepted, U = Unaccepted, N/A = Not Applicable
  • เอกสารฉบับนี้รวมความต้องการที่ได้จากการทบทวนขอบเขตงานร่วมกับลูกค้า
  • การเปลี่ยนแปลงความต้องการหลังอนุมัติต้องดำเนินการผ่าน Change Report

ผู้จัดทำเอกสาร (Secretary)

ชื่อ ตำแหน่ง ลายเซ็น วันที่
คุณนพพงษ์ เจริญสุข System Analyst

ผู้ตรวจสอบเอกสาร (Reviewer)

ชื่อ ตำแหน่ง ลายเซ็น วันที่
คุณเยาวลักษณ์ บางชมภู Document Control

ผู้อนุมัติ (Approval)

ชื่อ ตำแหน่ง ลายเซ็น วันที่
คุณเสรี วิริยะสกุลธรณ์ Project Sponsor