File manager - Edit - /home/webapp69.cm.in.th/u69319090048/shop69319090048/website_blueprint_dfd_th.txt
Back
================================================================================ ร้านเสื้อยืดมินิมอล - เอกสารข้อกำหนดแผนภาพการไหลของข้อมูล (DFD) ================================================================================ เอกสารฉบับนี้อธิบายรายละเอียดเกี่ยวกับแผนภาพการไหลของข้อมูล (Data Flow Diagram - DFD) ของแอปพลิเคชันอีคอมเมิร์ซ โดยแบ่งโครงสร้างออกเป็น 3 ระดับ (ระดับ 0, ระดับ 1 และ ระดับ 2) พร้อมด้วยพจนานุกรมข้อมูล (Data Dictionary) ที่เกี่ยวข้องทั้งหมด ================================================================================ 1. บริบทระบบและหน่วยงานภายนอก (SYSTEM CONTEXT & EXTERNAL ENTITIES) ================================================================================ ระบบมีการโต้ตอบและเชื่อมต่อกับหน่วยงานภายนอก (External Entities) 3 ส่วนหลัก ได้แก่: 1. ลูกค้าทั่วไป / ผู้เยี่ยมชม (Guest / Customer) - เรียกดูข้อมูลสินค้าบนหน้าเว็บ ปรับแต่งตัวเลือกข้อมูลเสื้อผ้า หยิบสินค้าใส่ตะกร้า กรอกข้อมูลจัดส่ง และทำรายการสั่งซื้อจำลอง 2. ผู้ดูแลระบบ (Administrator) - ล็อกอินยืนยันตัวตน ตรวจสอบข้อมูลสถิติ/จำนวนผู้เข้าชมในแต่ละวัน และจัดการข้อมูลสินค้าในระบบ (เพิ่ม แก้ไข ลบ ข้อมูลสินค้า) 3. ระบบจัดเก็บข้อมูลฝั่งเบราว์เซอร์ (Browser Local Storage) - บันทึกการตั้งค่าธีมหน้าจอ (โหมดสว่าง/โหมดมืด) ของผู้ใช้งานในแต่ละเครื่อง โดยแสดงผลทันทีโดยไม่ต้องดึงข้อมูลจากฐานข้อมูลหลัก ================================================================================ 2. DFD ระดับ 0 (LEVEL 0 DFD - CONTEXT DIAGRAM) ================================================================================ แผนภาพบริบทแสดงภาพรวมของแอปพลิเคชัน (ประมวลผลกลางเพียงหนึ่งเดียว) และการไหลของข้อมูลเข้าและออกจากระบบกับหน่วยงานภายนอก +--------------------------------+ | GUEST / CUSTOMER (ENTITY) | +--------------------------------+ | ^ | [A] | [B] v | +------------------------------------------------------+ | | | 1.0 MINIMALIST T-SHIRT STORE | | (CENTRAL SYSTEM) | | | +------------------------------------------------------+ ^ | | [C] | [D] v v +--------------------------------+ | ADMINISTRATOR (ENTITY) | +--------------------------------+ ข้อมูลการไหลเข้าและไหลออก (Incoming & Outgoing Flows): -------------------------------------------------- * [A] ข้อมูลส่งเข้าจากลูกค้า (Inputs from Customer): - ตัวเลือกการปรับแต่งสินค้า (รุ่นสินค้า, ขนาด, รายการเทรดอินแลกซื้อ, แพ็กเกจรับประกัน) - ข้อมูลการปรับปรุงตะกร้าสินค้า (จำนวนชิ้นที่ต้องการ, รายการที่ต้องการลบ) - ข้อมูลจัดส่งและการติดต่อ (อีเมล, เบอร์โทรศัพท์, ชื่อ-นามสกุล, ที่อยู่, วิธีการชำระเงินที่เลือก) * [B] ข้อมูลส่งออกไปยังลูกค้า (Outputs to Customer): - หน้าจออินเทอร์เฟซผู้ใช้ที่เหมาะสม (สลับโหมดมืด/สว่าง, การคำนวณราคาแบบเรียลไทม์) - รายละเอียดสินค้าในตะกร้าและราคาสรุปรวมสุทธิ - หน้ายืนยันการสั่งซื้อสำเร็จ / ใบเสร็จจำลองในรูปแบบข้อความ * [C] ข้อมูลส่งเข้าจากผู้ดูแลระบบ (Inputs from Administrator): - ข้อมูลยืนยันตัวตนเพื่อเข้าสู่ระบบ (ชื่อผู้ใช้, รหัสผ่าน) - คำสั่งเรียกดูข้อมูลสถิติวิเคราะห์ระบบ - ข้อมูลการจัดการแคตตาล็อกสินค้า (ชื่อสินค้า, ชื่อภาษาไทย, ราคาเริ่มต้น, สโลแกน, รายละเอียด, คุณสมบัติเฉพาะ) * [D] ข้อมูลส่งออกไปยังผู้ดูแลระบบ (Outputs to Administrator): - สถานะการยืนยันตัวตน / ข้อมูลเซสชันสิทธิ์การเข้าใช้งาน - รายงานสถิติยอดขายแบบแผนภูมิ (ยอดขายรวม, จำนวนคำสั่งซื้อ, กราฟเส้นแนวโน้มผู้เข้าชมย้อนหลัง 7 วัน) - ข้อความตอบกลับสถานะการแก้ไขระบบ (บันทึกสำเร็จ / เกิดข้อผิดพลาด) ================================================================================ 3. DFD ระดับ 1 (LEVEL 1 DFD - DECOMPOSED MAJOR PROCESSES) ================================================================================ แผนภาพระดับ 1 แบ่งส่วนการทำงานหลักของระบบออกเป็นกระบวนการย่อย 4 ส่วน พร้อมทั้งรายละเอียดการดึงข้อมูลและบันทึกข้อมูลกับฐานข้อมูล +--------------------------------+ | GUEST / CUSTOMER (ENTITY) | +--------------------------------+ | | ^ [Config Request] | | [Checkout] | [HTML View/Receipt] v v | +-----------------+ +----------------------------------+ | 1.0 CONFIGURATOR| | 3.0 TRANSACTION PROCESSING | | & CATALOG VIEW | | (Bag, Checkout, Success) | +-----------------+ +----------------------------------+ | | | Reads | Reads | Writes | Logs v v | +---------------+ +---------------+ | | D1 PRODUCTS | | D2 SESSION | | | (TABLE) | | (BAG STATE) | | +---------------+ +---------------+ v ^ ^ +---------------+ Writes| Reads| | D3 ANALYTICS | | | | (TABLE) | +-----------------+ | +---------------+ | 2.0 CATALOG CRUD| | ^ | (ADMIN) | | | Reads +-----------------+ | | ^ | | | [CRUD Data] | | +-----------------------+--------------------+ ^ [Dashboard] | [Admin Credentials] | +--------------------------------+ | ADMINISTRATOR (ENTITY) | +--------------------------------+ | v +-----------------+ | 4.0 ADMIN | | AUTHENTICATION | +-----------------+ กระบวนการทำงานหลัก (Major Processes): - กระบวนการ 1.0 (หน้าปรับแต่งและดูแคตตาล็อก): ดึงข้อมูลจากคลังเก็บข้อมูล D1 (Products) เพื่อแสดงรายการสินค้าบนหน้าแรก (index.php) และทำการคำนวณราคาสินค้าตามตัวเลือกปรับแต่งแบบเรียลไทม์ - กระบวนการ 2.0 (จัดการสินค้า): ทำหน้าที่เพิ่ม, แก้ไข และลบข้อมูลสินค้าใน D1 (Products) โดยผู้ดูแลระบบที่ผ่านการยืนยันตัวตนแล้ว - กระบวนการ 3.0 (กระบวนการสั่งซื้อธุรกรรม): จัดการสถานะในเซสชันตะกร้าสินค้า (D2), คำนวณราคารวมทั้งหมด, ตรวจสอบข้อมูลผู้รับและที่อยู่จัดส่ง, อัปเดตข้อมูลสถิติยอดคำสั่งซื้อสำเร็จ และบันทึกจำนวนชิ้นและยอดขายลงสู่คลังข้อมูล D3 (Analytics) - กระบวนการ 4.0 (ยืนยันตัวตนผู้ดูแลระบบ): ตรวจสอบความถูกต้องของบัญชีผู้ใช้งานผ่านค่าคงที่ ที่กำหนดไว้ใน config.php ================================================================================ 4. DFD ระดับ 2 (LEVEL 2 DFD - GRANULAR SUB-PROCESS BREAKDOWN) ================================================================================ ส่วนนี้แสดงรายละเอียดการทำงานของกระบวนการ 3.0 (กระบวนการสั่งซื้อธุรกรรม) โดยติดตามข้อมูลตั้งแต่ผู้ใช้เริ่มปรับแต่งสินค้าจนถึงขั้นตอนทำรายการสั่งซื้อเสร็จสมบูรณ์ GUEST ENTITY | | (Size, Trade-In, Warranty) v +--------+ | 3.1 | | CONFIG |-----> [Calculates Single Price] | PRODUCT| (Base Price + Warranty Cost - Trade-in Discount) +--------+ | | (Product ID, Size, Trade-In, Warranty, Single Price) v +--------+ +------------------------+ | 3.2 |------>| D2 SESSION (BAG STATE) | | MANAGE | +------------------------+ | BAG |<------ [Calculates Subtotal] +--------+ | | (Checkout Initiated) ----> [Triggers track_order_request()] ----> (D3 Analytics) v +--------+ | 3.3 | | CAPTURE|-----> [Validates Contact & Shipping details] | SHIPPING| [Validates Payment Method Selected] +--------+ | | (Order Submitted) v +--------+ +---------------+ | 3.4 |------>| D3 ANALYTICS | (Logs: items_sold, amount_sold) |FINALIZE| +---------------+ | ORDER |------> [Resets D2 Session Bag State to Empty] +--------+ | | (Simulated Text Receipt HTML) v GUEST ENTITY ข้อมูลระดับแอตทริบิวต์ในระบบการสั่งซื้อ (Attribute Level Data Flows): - ขั้นตอน 3.1 ไปยัง 3.2: `product_id` (ข้อความ), `size` (ข้อความ), `trade_in` (ข้อความ), `warranty` (ข้อความ), `single_price` (ทศนิยม), `quantity` (จำนวนเต็ม) - ขั้นตอน 3.2 ไปยัง 3.3: `unique_key` (ข้อความรหัส md5 ของชุดสินค้าที่ตั้งค่าไว้), `subtotal` (ทศนิยม) - ขั้นตอน 3.3 ไปยัง 3.4: `email` (ข้อความ), `phone` (ข้อความ), `fullname` (ข้อความ), `address` (ข้อความ), `city` (ข้อความ), `zipcode` (ข้อความ), `payment_method` (ข้อความตัวแปรประเภทช่องทาง) - ขั้นตอน 3.4 ไปยัง D3: `date` (วันที่), `items` (จำนวนสินค้าที่ขายได้), `amount` (ยอดเงินรวมของคำสั่งซื้อ) ================================================================================ 5. พจนานุกรมข้อมูล (DATA DICTIONARY) ================================================================================ -------------------------------------------------------------------------------- ก. แหล่งข้อมูลจัดเก็บ (DATA STORES) -------------------------------------------------------------------------------- 1. D1: `products` (ตารางในฐานข้อมูล MySQL) ใช้เก็บข้อมูลของรายการเสื้อยืดที่มีในระบบเพื่อใช้ในการแสดงผลและกำหนดราคาเริ่มต้น - `id` (VARCHAR(50), คีย์หลัก): รหัสสินค้าหรือสลักอ้างอิง URL - `name` (VARCHAR(255)): ชื่อของสินค้า (ภาษาอังกฤษ) - `thai_name` (VARCHAR(255)): ชื่อของสินค้า (ภาษาไทย) - `tier` (VARCHAR(50)): ระดับสินค้า (Basic, Pro, Luxury) - `price` (DECIMAL(10,2)): ราคาเริ่มต้นของสินค้า (ก่อนคำนวณปรับแต่งเพิ่มเติม) - `tagline` (TEXT): สโลแกนของสินค้า (ภาษาอังกฤษ) - `thai_tagline` (TEXT): สโลแกนของสินค้า (ภาษาไทย) - `description` (TEXT): รายละเอียดสินค้าหลัก (ภาษาอังกฤษ) - `thai_description` (TEXT): รายละเอียดสินค้าหลัก (ภาษาไทย) - `image_url` (VARCHAR(500)): รหัสตำแหน่งที่เก็บรูปภาพในระบบ หรือ URL รูปภาพ - `specs` (TEXT): ข้อความรูปแบบ JSON ที่เก็บข้อมูลรายการคุณสมบัติเฉพาะสินค้าภาษาอังกฤษ - `thai_specs` (TEXT): ข้อความรูปแบบ JSON ที่เก็บข้อมูลรายการคุณสมบัติเฉพาะสินค้าภาษาไทย 2. D2: `$_SESSION['bag']` (ข้อมูลอาร์เรย์ใน PHP Session) ที่เก็บข้อมูลชั่วคราวสำหรับสินค้าที่อยู่ในตะกร้า โดยมีคีย์ระบุข้อมูลสินค้าอิงรหัส MD5 ของชุดค่าตั้งเฉพาะ: md5(product_id + '_' + size + '_' + trade_in + '_' + warranty) - `product_id` (ข้อความรหัสสินค้า) - `size` (ขนาดตัวอักษรไซส์เสื้อ) - `trade_in` (รูปแบบการเทรดอินแลกซื้อที่เลือก) - `warranty` (รูปแบบการรับประกันที่เลือก) - `single_price` (ราคาสุทธิแยกชิ้น) - `quantity` (จำนวนสินค้าชิ้นนั้นๆ) - `discount` (ส่วนลดจากการแลกซื้อ) - `warranty_cost` (ค่าแพ็กเกจประกันเพิ่มเติม) 3. D3: `analytics` (ตารางในฐานข้อมูล MySQL) ตารางสะสมยอดสถิติการใช้งานและการสั่งซื้อสำเร็จแยกรายวัน - `date` (DATE, คีย์หลัก): วันที่บันทึกข้อมูลในรูปแบบ YYYY-MM-DD - `visitors` (INT): จำนวนผู้เข้าชมเว็บไซต์ (นับรายเซสชัน) ในวันนั้นๆ - `order_requests` (INT): จำนวนครั้งที่มีการกดเข้าสู่หน้ากรอกข้อมูลการจัดส่ง (checkout.php) - `items_sold` (INT): ยอดจำนวนชิ้นสินค้าที่ขายได้จริงรวมทั้งหมดในวันนั้น - `amount_sold` (DECIMAL(10,2)): ยอดเงินรวมจากการทำรายการสั่งซื้อเสร็จสิ้นในวันนั้น -------------------------------------------------------------------------------- ข. แอตทริบิวต์ข้อมูลที่สำคัญ (CORE FLOW ATTRIBUTES) -------------------------------------------------------------------------------- - `trade_in` (ประเภทตัวเลือกเทรดอินสินค้าเก่า): * "No Trade-in" (ไม่มีการแลกเปลี่ยน - ส่วนลด $0.00) * "Recycle Condition" (สภาพรีไซเคิล - ส่วนลด $3.00) * "Good Condition" (สภาพดี - ส่วนลด $7.00) * "Excellent Condition" (สภาพดีเยี่ยม - ส่วนลด $12.00) - `warranty` (ระดับแพ็กเกจประกันดูแลเสื้อยืด Tee Care+): * "No Tee Care+" (ไม่มีประกัน - ค่าบริการ $0.00) * "1-Year Tee Care+" (ประกันความคงทน 1 ปี - ค่าบริการ $9.00) * "2-Year Tee Care+" (ประกันความเสียหายเต็มรูปแบบ 2 ปี - ค่าบริการ $19.00) - `payment_method` (ช่องทางการชำระเงิน): "card" (บัตรเครดิต/เดบิต), "apple" (Apple Pay), "google" (Google Pay), "paypal" (PayPal) - `session_id` (รหัสเซสชัน): ข้อมูลระบุตัวตนการใช้งานผ่านเว็บบราวเซอร์ ใช้ประมวลผลการเข้าชมที่ไม่ระบุชื่อ ================================================================================
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.26 |
proxy
|
phpinfo
|
Settings