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 de6ff85fa1 docs(sdlc): address 23/09 review feedback
Trace every CR to a test case or delivered document, drop the draft FR/NFR remark column, record lessons learned, replace the three change reports with a change-control register, add high-level diagrams and wireframes to the design, plan verification rounds with dates and hours, and base the validation result on the Customer Requirements.
2026-09-24 08:45:20 +07:00

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

Remark

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

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

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

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

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

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

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