📋 ความต้องการเชิงฟังก์ชัน (Functional Requirements)
เอกสารนี้ระบุฟังก์ชันการทำงานที่ระบบของ SplitDee ต้องทำได้เพื่อตอบสนองความต้องการของผู้ใช้งาน โดยแบ่งกลุ่มตามโมดูลหลัก
👤 1. ระบบจัดการผู้ใช้และกลุ่ม (User & Group Management)
| รหัสข้อกำหนด (ID) | คำอธิบายฟังก์ชันการทำงาน |
|---|
| FR-USR-001 | ระบบต้องยอมรับการสมัครสมาชิกและเข้าสู่ระบบผ่าน Email/Password และ Google Social Login |
| FR-USR-002 | ผู้ใช้ต้องสามารถแก้ไขโปรไฟล์ส่วนตัว (ชื่อ, รูปภาพโปรไฟล์, เบอร์โทรศัพท์สำหรับ PromptPay) ได้ |
| FR-USR-003 | ผู้ใช้ต้องสามารถสร้างกลุ่มใหม่ เชิญสมาชิกคนอื่นเข้ากลุ่มผ่าน Invite Link หรือ QR Code ได้ |
| FR-USR-004 | ระบบต้องรองรับการกำหนดบทบาทสมาชิกในกลุ่ม (เช่น หัวหน้ากลุ่ม/ผู้สร้างบิล หรือ สมาชิกกลุ่มทั่วไป) |
💵 2. ระบบจัดการค่าใช้จ่าย (Expense Management)
| รหัสข้อกำหนด (ID) | คำอธิบายฟังก์ชันการทำงาน |
|---|
| FR-EXP-001 | ระบบต้องอนุญาตให้สมาชิกในกลุ่มสร้างบิลค่าใช้จ่ายใหม่ โดยกำหนด ยอดรวม, ชื่อบิล, และวันที่ได้ |
| FR-EXP-002 | ระบบต้องรองรับวิธีหารเงิน 4 รูปแบบ: หารเท่ากัน (Equally), หารตามจำนวนจริง (Exact Amount), หารตามเปอร์เซ็นต์ (Percentage), และหารแบบระบุส่วนเพิ่ม (Adjustment) |
| FR-EXP-003 | สมาชิกต้องสามารถแนบรูปภาพใบเสร็จชำระเงินเข้าไปในบิลที่สร้างขึ้นได้ |
| FR-EXP-004 | ระบบต้องมีหน้าจอสรุปหนี้สินรวมของกลุ่ม (Debt Dashboard) เพื่อแสดงว่าใครต้องจ่ายให้ใครเท่าใด |
| FR-EXP-005 | ระบบต้องรองรับการชำระเงินคืนบางส่วน (Partial Payments) และปรับปรุงยอดค้างชำระทันที |
💳 3. ระบบชำระเงินและตรวจสอบสลิป (Payment & Verification)
| รหัสข้อกำหนด (ID) | คำอธิบายฟังก์ชันการทำงาน |
|---|
| FR-PAY-001 | ระบบต้องสามารถสร้าง PromptPay QR Code ที่ฝังจำนวนเงินที่ค้างและข้อมูลบัญชีปลายทางให้โดยอัตโนมัติ |
| FR-PAY-002 | ผู้ใช้ต้องสามารถอัปโหลดรูปภาพสลิปโอนเงิน (Slip Upload) เพื่อยืนยันการชำระเงินคืนได้ |
| FR-PAY-003 | ระบบต้องเชื่อมต่อกับ API ตรวจสอบสลิปเพื่อดึงข้อมูลจาก Mini-QR บนสลิปและสแกนยืนยันความถูกต้อง |
| FR-PAY-004 | ระบบต้องปฏิเสธสลิปการโอนเงินที่ซ้ำซ้อน สลิปที่มียอดเงินไม่ถูกต้อง หรือชื่อบัญชีผู้รับโอนไม่ตรงกับบิล |
| FR-PAY-005 | ระบบต้องอัปเดตสถานะบิลเป็น “ชำระเงินเรียบร้อยแล้ว” (Settled) ทันทีหลังจากการตรวจสอบสลิปสำเร็จ |
🤖 4. ระบบช่วยเหลือและแจ้งเตือนอัจฉริยะ (AI & Notification)
| รหัสข้อกำหนด (ID) | คำอธิบายฟังก์ชันการทำงาน |
|---|
| FR-AI-001 | ระบบต้องรองรับการส่งการแจ้งเตือนทวงเงินตามช่วงเวลาที่กลุ่มตั้งค่าไว้ (เช่น ล่วงหน้า 1 วัน หรือ หลังเลยกำหนดชำระ) |
| FR-AI-002 | ระบบต้องอนุญาตให้ผู้ใช้เลือกโทนเสียงของ AI ในการทวงเงินได้ (สุภาพ, เพื่อนซี้ หรือกวนๆ) |
| FR-AI-003 | ระบบต้องสร้างภาพมีมตลกๆ (AI Meme Generator) ตามบริบทของกลุ่มเมื่อเลือกใช้โทนแจ้งเตือนแบบกวนๆ |
| FR-AI-004 | ระบบต้องมีการประมวลผลและสร้างเอกสารสรุปค่าใช้จ่ายประจำเดือน (AI Monthly Summary) ส่งให้ทุกคนในกลุ่ม |
💬 5. ระบบสื่อสารและแชทกลุ่ม (Group Chat & Communication)
| รหัสข้อกำหนด (ID) | คำอธิบายฟังก์ชันการทำงาน |
|---|
| FR-COM-001 | ระบบต้องจัดเตรียมช่องทางแชทกลุ่มแบบเรียลไทม์ (Real-time Chat) สำหรับสมาชิกในแต่ละกลุ่ม |
| FR-COM-002 | ระบบต้องส่งข้อความกิจกรรมของระบบ (System Message) เช่น การสร้างบิล, การตรวจสอบสลิปผ่าน, หรือระดับเลเวลสัตว์เลี้ยงเพิ่มขึ้น เข้ามาในห้องแชทโดยอัตโนมัติ |
| FR-COM-003 | ผู้ใช้ต้องได้รับการแจ้งเตือนแบบพุช (Push Notification) บนโทรศัพท์มือถือเมื่อมีกิจกรรมสำคัญในแอป |
🎮 6. ระบบเกมและสัตว์เลี้ยง (Gamification & Pet System)
| รหัสข้อกำหนด (ID) | คำอธิบายฟังก์ชันการทำงาน |
|---|
| FR-GAM-001 | ระบบต้องแสดงหน้าตาสัตว์เลี้ยงประจำกลุ่ม “โมจิ” (Mochi) ในหน้าหลัก พร้อมแสดงสถานะ HP และ Happiness |
| FR-GAM-002 | ระบบต้องลดพลังชีวิต (HP) ของสัตว์เลี้ยงหากบิลใดบิลหนึ่งมีสมาชิกค้างชำระเงินเกินกำหนดเวลา (Overdue) |
| FR-GAM-003 | สมาชิกต้องสามารถได้รับค่าประสบการณ์ (XP) และรักษาสถิติการโอนเงินตรงเวลา (Streak) เมื่อทำตามกติกา |
| FR-GAM-004 | ระบบต้องรองรับการใช้คะแนนหรือ XP เพื่อปลดล็อกไอเทมตกแต่ง (Accessories) ให้กับสัตว์เลี้ยงประจำกลุ่ม |