PlusMagi's Blog By Pitt Phunsanit Backend,Business,Database ความเข้าใจเบื้องหลังและความต่าง (วิเคราะห์บทบาท UX vs UI, Design Thinking Process, Double Diamond Model)

ความเข้าใจเบื้องหลังและความต่าง (วิเคราะห์บทบาท UX vs UI, Design Thinking Process, Double Diamond Model)

ในโลกของการพัฒนาซอฟต์แวร์ที่ซับซ้อน การสร้างผลิตภัณฑ์ที่ประสบความสำเร็จไม่ได้ขึ้นอยู่กับโค้ดที่ทำงานได้เท่านั้น แต่ยังรวมถึงการเข้าใจโครงสร้างข้อมูล (Data Structure) และประสบการณ์ของผู้ใช้งาน (User Experience) อย่างลึกซึ้ง บทความนี้จะวิเคราะห์หลักการออกแบบที่สำคัญ ทั้ง UX vs UI, Design Thinking Process และ Double Diamond Model โดยใช้แนวคิดของระบบฐานข้อมูล PostgreSQL เป็นตัวอย่าง เพื่อให้เห็นภาพการนำกระบวนการคิดเชิงระบบมาใช้ในการออกแบบสถาปัตยกรรมข้อมูล

UX vs UI: การแยกแยะระหว่างโครงสร้างและรูปลักษณ์ใน PostgreSQL

หัวใจของการออกแบบระบบที่แข็งแกร่งคือการแยกแยะบทบาทระหว่าง UX และ UI ซึ่งสามารถเปรียบเทียบได้กับความสัมพันธ์ระหว่างโครงสร้างฐานข้อมูล (Schema) และการเรียกดูข้อมูล (Query Result) ใน PostgreSQL:

  • UI (User Interface): คือส่วนที่ผู้ใช้มองเห็นและปฏิสัมพันธ์ด้วยโดยตรง เปรียบเสมือนผลลัพธ์ของคำสั่ง SELECT ที่ถูกจัดรูปแบบอย่างสวยงาม (เช่น การแสดงผลตารางข้อมูลที่อ่านง่าย)
  • UX (User Experience): คือประสบการณ์โดยรวมที่อยู่เบื้องหลัง ซึ่งหมายถึงประสิทธิภาพของระบบ (Performance), ความง่ายในการเข้าถึงข้อมูล (Query Efficiency), และความสมบูรณ์ของโครงสร้าง (Schema Integrity) หากโครงสร้าง (UX) ไม่ดี แม้ว่าผลลัพธ์ที่แสดง (UI) จะสวยงาม ก็จะช้าและใช้งานยาก

การออกแบบที่ดีจึงต้องให้ความสำคัญกับการออกแบบ Schema ที่เหมาะสมและการปรับปรุง Index เพื่อให้การดึงข้อมูล (UX) มีประสิทธิภาพสูงสุด

Design Thinking และ Double Diamond Model ในการออกแบบ Query

กระบวนการคิดเชิงออกแบบ (Design Thinking) สอนให้เราแก้ปัญหาอย่างเป็นระบบ โดยมี Double Diamond Model เป็นกรอบแนวคิดที่ช่วยให้เราขยายขอบเขตความคิด (Diverge) และจำกัดขอบเขตให้แคบลง (Converge) ซึ่งในบริบทของ PostgreSQL เราสามารถจำลองกระบวนการนี้ได้ดังนี้:

  1. Empathize & Define (Diverge): คือการรวบรวมข้อมูลดิบทั้งหมด (Raw Data) จากหลายแหล่ง เปรียบเสมือนการสร้าง Common Table Expression (CTE) เพื่อเก็บข้อมูลที่ยังไม่ผ่านการกรอง
  2. Ideate & Prototype (Converge): คือการกำหนดปัญหาที่แท้จริงและสร้าง Query ที่เฉพาะเจาะจงเพื่อตอบโจทย์นั้น โดยใช้คำสั่ง WHERE หรือ JOIN เพื่อจำกัดขอบเขตข้อมูลที่จำเป็น
  3. Test: คือการรันคำสั่ง SQL และตรวจสอบว่าผลลัพธ์ที่ได้นั้นตอบโจทย์ผู้ใช้งานได้อย่างสมบูรณ์หรือไม่

ตัวอย่างการจำลองกระบวนการนี้โดยใช้ PostgreSQL:

SQL

-- 1. Empathize (รวบรวมข้อมูลดิบทั้งหมด) โดยใช้ CTE -- 2. Define (จำกัดขอบเขตข้อมูลที่สนใจ) WITH raw_data AS (    SELECT 'apple' AS item, 1 AS id    UNION ALL    SELECT 'banana', 2    UNION ALL    SELECT 'orange', 3) SELECT item, id FROM raw_data WHERE item LIKE 'b%' OR item LIKE 'o%'; -- ผลลัพธ์: banana, orange

บทสรุป: การผสานศาสตร์การออกแบบเข้ากับเทคนิคเชิงลึก

การเป็น System Specialist ที่ดีไม่ได้หมายถึงการเขียนโค้ดที่ซับซ้อนเท่านั้น แต่คือความสามารถในการคิดอย่างเป็นระบบ (Design Thinking) เพื่อให้มั่นใจว่าโครงสร้างข้อมูล (UX) มีประสิทธิภาพสูงสุด และนำเสนอผลลัพธ์ (UI) ที่ใช้งานง่ายและสวยงาม การเข้าใจหลักการเหล่านี้จะช่วยให้เราสร้างระบบที่แข็งแกร่งและตอบโจทย์ผู้ใช้งานได้อย่างแท้จริง ไม่ว่าจะเป็นการออกแบบแอปพลิเคชัน หรือการออกแบบ Database Schema ด้วย PostgreSQL ก็ตาม

Exit mobile version