Class Diagram
สร้างแบบจำลองระบบเชิงวัตถุด้วยคลาส แอตทริบิวต์ และความสัมพันธ์ จำเป็นสำหรับการวางแผนสถาปัตยกรรมซอฟต์แวร์
Class Diagram คืออะไร?
Class Diagram คือ UML Structural Diagram ที่สร้างแบบจำลองโครงสร้างคงที่ของระบบเชิงวัตถุ แสดงคลาส แอตทริบิวต์ เมธอด และความสัมพันธ์ระหว่างคลาส (การสืบทอด การเชื่อมโยง การประกอบ การรวม) Class Diagram ทำหน้าที่เป็นพิมพ์เขียวสำหรับสถาปัตยกรรมซอฟต์แวร์ ช่วยให้นักพัฒนาแสดงภาพการออกแบบระบบก่อนเขียนโค้ด
แก้ไขและดูตัวอย่าง
สร้าง Class Diagram ด้วยไวยากรณ์ Mermaid และดูการเปลี่ยนแปลงทันที
Example
Class diagram example
A compact UML class diagram showing a diagram model connected to export methods.

Mermaid code
classDiagram
class Diagram {
+String code
+String type
+render()
}
class Exporter {
+toPNG()
+toSVG()
+toPDF()
}
Diagram --> Exporter : usesกรณีการใช้งานทั่วไป
การวางแผนสถาปัตยกรรมซอฟต์แวร์
ออกแบบโครงสร้างแอปพลิเคชันก่อนการพัฒนา กำหนดคลาส ความรับผิดชอบ และวิธีการโต้ตอบเพื่อสร้างระบบที่ดูแลรักษาและขยายขนาดได้
การออกแบบเชิงวัตถุ
สร้างแบบจำลองลำดับชั้นการสืบทอด อินเทอร์เฟซ และคลาสนามธรรม แสดงภาพ Polymorphism, Encapsulation และ Design Pattern เช่น Factory, Singleton หรือ Observer
เอกสารโค้ด
สร้างเอกสารภาพของโครงสร้างโค้ดที่มีอยู่ ช่วยให้สมาชิกทีมใหม่เข้าใจลำดับชั้นคลาสและการพึ่งพาที่ซับซ้อนได้อย่างรวดเร็ว
การวางแผนสคีมาฐานข้อมูล
จัดทำแผนผังโมเดลวัตถุกับตารางฐานข้อมูล ระบุเอนทิตี ความสัมพันธ์ และจำนวนรายการก่อนนำ ORM Model หรือสคีมาฐานข้อมูลไปใช้
ฟีเจอร์หลัก
การกำหนดโครงสร้างคลาส
กำหนดชื่อคลาส แอตทริบิวต์พร้อมตัวระบุการมองเห็น (public, private, protected) และเมธอดพร้อมประเภทส่งกลับและพารามิเตอร์
ประเภทความสัมพันธ์
สร้างแบบจำลองการสืบทอด (generalization) การเชื่อมโยง การรวม การประกอบ และความสัมพันธ์การพึ่งพาด้วยเครื่องหมาย UML ที่ถูกต้อง
อินเทอร์เฟซและคลาสนามธรรม
แยกแยะระหว่างคลาสคอนกรีต คลาสนามธรรม และอินเทอร์เฟซโดยใช้แบบแผน UML มาตรฐานและ Stereotype
จำนวนรายการและข้อจำกัด
ระบุจำนวนรายการความสัมพันธ์ (1..1, 1..*, 0..*) และเพิ่มข้อจำกัดหรือบันทึกเพื่อชี้แจงกฎทางธุรกิจและการตัดสินใจด้านการออกแบบ
แนวทางปฏิบัติที่ดี
เริ่มต้นด้วยคลาสหลัก
เริ่มต้นด้วยเอนทิตีโดเมนที่สำคัญที่สุดและค่อย ๆ เพิ่มคลาสสนับสนุน อย่าพยายามสร้างแบบจำลองทุกอย่างพร้อมกัน
ใช้การมองเห็นที่เหมาะสม
ทำเครื่องหมายแอตทริบิวต์และเมธอดด้วยการมองเห็นที่เหมาะสม: + สำหรับ public, - สำหรับ private, # สำหรับ protected สิ่งนี้จัดทำเอกสารการตัดสินใจด้านการห่อหุ้ม
แสดงความสัมพันธ์ที่เกี่ยวข้อง
รวมเฉพาะความสัมพันธ์ที่มีความหมาย ไม่จำเป็นต้องแสดงทุกการโต้ตอบของคลาส — เน้นที่ความสำคัญทางสถาปัตยกรรม
รักษาไดอะแกรมให้มุ่งเน้น
สร้างไดอะแกรมขนาดเล็กหลายอันสำหรับระบบย่อยที่แตกต่างกันแทนที่จะเป็นไดอะแกรมขนาดใหญ่อันเดียว แต่ละอันควรเล่าเรื่องที่ชัดเจน
สำรวจไดอะแกรมประเภทอื่น
Flowchart
แสดงภาพกระบวนการ เวิร์กโฟลว์ และอัลกอริทึมด้วยโหนดและลูกศรทิศทาง เหมาะสำหรับกระบวนการทางธุรกิจและแผนผังการตัดสินใจ
Sequence Diagram
บันทึกการโต้ตอบระหว่างผู้กระทำหรือระบบต่าง ๆ ตามลำดับเวลา เหมาะสำหรับเอกสาร API และการออกแบบระบบ
State Diagram
แสดงการเปลี่ยนสถานะในระบบหรือแอปพลิเคชัน เหมาะสำหรับการสร้างแบบจำลองสถานะวงจรชีวิตและเวิร์กโฟลว์
Gantt Chart
วางแผนและติดตามไทม์ไลน์โครงการด้วยงานและการพึ่งพา เหมาะสำหรับการจัดการโครงการและการจัดตารางเวลา
ER Diagram
ออกแบบสคีมาฐานข้อมูลด้วยเอนทิตีและความสัมพันธ์ เหมาะสำหรับการสร้างแบบจำลองและเอกสารฐานข้อมูล
User Journey
จัดทำแผนที่ประสบการณ์ผู้ใช้และการโต้ตอบข้ามจุดสัมผัส เหมาะสำหรับการออกแบบ UX และการจัดทำแผนที่การเดินทางของลูกค้า
Git Graph
แสดงภาพกลยุทธ์การแตกสาขาของ Git และประวัติคอมมิต ช่วยอธิบายเวิร์กโฟลว์การควบคุมเวอร์ชัน
แผนที่ความคิด
จัดระเบียบไอเดีย ระดมความคิด และสร้างโครงสร้างภาพแบบลำดับชั้น เหมาะสำหรับการวางแผนและจัดทำแผนที่ความรู้
แผนภูมิวงกลม
แสดงการกระจายข้อมูลตามสัดส่วนด้วยแผนภูมิวงกลม เหมาะสำหรับแสดงเปอร์เซ็นต์และการวิเคราะห์ส่วนแบ่งตลาด
ไทม์ไลน์
แสดงภาพเหตุการณ์และเหตุการณ์สำคัญตามลำดับเวลา เหมาะสำหรับประวัติโครงการและแผนงาน
บอร์ด Kanban
จัดระเบียบงานเป็นคอลัมน์ที่แสดงขั้นตอนเวิร์กโฟลว์ เหมาะสำหรับการจัดการโครงการแบบ Agile และการติดตามงาน
แผนภูมิสี่ส่วน
วางรายการบนตารางสองแกนเพื่อเปรียบเทียบและจัดลำดับความสำคัญ เหมาะสำหรับการจัดลำดับความสำคัญฟีเจอร์และการวิเคราะห์เชิงกลยุทธ์
ไดอะแกรม Sankey
แสดงภาพปริมาณการไหลระหว่างโหนดด้วยลูกศรตามสัดส่วน เหมาะสำหรับการไหลของพลังงาน การจัดสรรงบประมาณ และช่องทางการแปลง
แผนภูมิ XY
สร้างแผนภูมิแท่งและแผนภูมิเส้นด้วยแกนที่กำหนดเอง เหมาะสำหรับการแสดงภาพข้อมูลและการวิเคราะห์แนวโน้ม
ไดอะแกรมบล็อก
สร้างเลย์เอาต์ที่มีโครงสร้างด้วยบล็อกจัดเรียงในคอลัมน์และแถว เหมาะสำหรับสถาปัตยกรรมระบบและภาพรวมส่วนประกอบ
ไดอะแกรมสถาปัตยกรรม
ออกแบบสถาปัตยกรรมคลาวด์และระบบด้วยไอคอนบริการและการเชื่อมต่อ เหมาะสำหรับเอกสารโครงสร้างพื้นฐาน
ไดอะแกรมแพ็กเก็ต
แสดงภาพโครงสร้างแพ็กเก็ตโปรโตคอลเครือข่ายด้วยเลย์เอาต์ฟิลด์ระดับบิต จำเป็นสำหรับเอกสารโปรโตคอลเครือข่าย