Use Case Diagram แสดงผู้ใช้งาน ระบบ และกรณีการใช้งาน ช่วยให้ทีมเข้าใจขอบเขตและความต้องการของระบบร่วมกัน
Class Diagram แสดงคลาส คุณลักษณะ เมธอด และความสัมพันธ์ เช่น Association, Inheritance และ Dependency เหมาะกับการออกแบบระบบเชิงวัตถุ
Sequence Diagram แสดงลำดับการสื่อสารระหว่าง Object ตามเวลา ช่วยอธิบาย flow การทำงานของฟีเจอร์สำคัญ
ออกแบบ UML ของ Mini Project โดยเริ่มจาก Use Case แล้วต่อยอดเป็น Class Diagram และ Sequence Diagram
ผู้เรียนใช้ UML เพื่อสื่อสารการออกแบบก่อนเขียนโค้ด ไม่ใช่เพื่อวาดให้สวยอย่างเดียว Use Case Diagram ช่วยกำหนดขอบเขตงาน Class Diagram ช่วยเห็นโครงสร้างข้อมูลและความสัมพันธ์ ส่วน Sequence Diagram ช่วยตรวจลำดับการทำงานของฟีเจอร์สำคัญ
การออกแบบ UML ควรสัมพันธ์กับโค้ดจริง หาก Diagram มีคลาสหรือเมธอดใด โค้ดควรสะท้อนแนวคิดนั้น และหากโค้ดเปลี่ยน Diagram ควรถูกปรับให้ทันสมัยด้วย
สร้าง UML 3 แบบสำหรับ Mini Project ได้แก่ Use Case Diagram, Class Diagram และ Sequence Diagram ของฟีเจอร์หลัก
UML (Unified Modeling Language) คือภาษาภาพสำหรับสื่อสารการออกแบบระบบ ช่วยให้ทีมเข้าใจ requirement, class structure และลำดับการทำงานก่อนลงมือเขียนโค้ด
%%{init: {'theme': 'base', 'themeVariables': {'background': '#282828','primaryColor': '#3c3836','primaryTextColor': '#fbf1c7','primaryBorderColor': '#fabd2f','lineColor': '#83a598','secondaryColor': '#504945','tertiaryColor': '#665c54'}}}%%
flowchart LR
A[Use Case Diagram
ความต้องการผู้ใช้] --> B[Class Diagram
โครงสร้างคลาส]
B --> C[Sequence Diagram
ลำดับการทำงาน]
C --> D[Implementation
เขียนโค้ด]
#include <iostream>
using namespace std;
class Order {
public:
void confirm() {
cout << "Order confirmed" << endl;
}
};
int main() {
Order order;
order.confirm(); // expected: Order confirmed
return 0;
}
| Diagram | ใช้อธิบาย | ผลลัพธ์ที่คาดหวัง |
|---|---|---|
| Use Case | ผู้ใช้และกรณีใช้งาน | ขอบเขตระบบ |
| Class | class และความสัมพันธ์ | โครงสร้างโค้ด |
| Sequence | ลำดับ message | flow ของฟีเจอร์ |