Diagram เครื่องมือสร้างแผนภาพที่จะนำเสนอข้อมูลให้เข้าใจได้ง่ายขึ้น

Diagram เป็นแบบจำลองที่ใช้ในการอธิบายความหมาย ความสัมพันธ์ของฟังก์ชันการทำงานของระบบปัจจุบัน(As-Is System) หรือระบบที่ต้องการพัฒนา(To-Be System) ในการพัฒนาซอฟต์แวร์โดยทั่วไปแล้ว Developer ก็จะอ่านเอกสาร Requirement แล้วนำมาวิเคราะห์และ Design ซอฟต์แวร์ขึ้นมาก่อนโดยเฉพาะส่วนที่เป็น Logic ที่มีความซับซ้อน การจะอธิบาย logic ต่างๆเป็นข้อความหรือคำพูดก็อาจทำให้เกิดความเข้าใจยาก ดังนั้นการใช้ Diagram ต่างๆเข้ามาช่วยจะทำให้คนที่มีส่วนร่วมในการพัฒนาซอฟต์แวร์เข้าใจระบบได้ง่ายขึ้น สร้างความเข้าใจที่ตรงกันกับคนภายในทีมมากขึ้น

UML (Unified Modeling Language) เป็นภาษารูปภาพที่ใช้อธิบายถึงการทำงานและโครงสร้างของระบบ ใช้เป็นมาตราฐานของแบบจำลองได้ เพราะไม่ผูกติดกับภาษาโปรแกรมใดภาษาหนึ่ง


Use Case Diagram เป็นแผนภาพที่แสดงให้เห็นฟังก์ชันการทำงานร่วมกันของผู้ใช้งานและระบบในระดับ High Level โดยอธิบายว่าผู้ใช้งานสามารถทำอะไรได้บ้าง เพื่อให้ทราบว่าผู้ใช้งานจะมีส่วนเกี่ยวข้องอย่างไรกับระบบบ้าง

สัญลักษณ์ความหมาย

ชื่อยูสเคส(Use Case Name) เป็นตัวระบุฟังก์ชันการทำงานของระบบว่าในระบบนั้นจะมีฟังก์ชันอะไรบ้าง โดยจะมีความสัมพันธ์กับ Actor ที่เป็นคนมาใช้ฟังก์ชันที่เกิดขึ้น


ผู้กระทำ(Actor) เป็นผู้กระทำกิจกรรมต่างๆที่เกิดขึ้นกับระบบ อาจจะเป็นคนหรือระบบที่เกี่ยวข้องก็ได้

คือเส้นแบ่งขอบเขตระหว่าง Actor กับระบบ ผู้กระทำจะอยู่นอกสัญลักษณ์สี่เหลี่ยม ส่วนระบบต่างๆนั้นจะอยู่ด้านในกรอบสี่เหลี่ยม
 
เส้นเชื่อมความสัมพันธ์(Association) ระหว่าง Actor กับ Use Cases
Include Relationship คือเส้นเชื่อมความสัมพันธ์ของ Use Cases กับ Use Cases โดย Use Cases ที่มีทิศฝั่งตรงข้ามหัวลูกศรจะทำงานได้ก็ต่อเมื่อต้องอาศัยการทำงานของอีก Use Cases หนึ่งทุกครั้ง
 

Extend Relationship คือเส้นเชื่อมความสัมพันธ์ของ Use Cases กับ Use Cases โดย Use Cases ที่มีลูกศรชี้เข้าแสดงว่าอาจมีอีก Use Cases ช่วยทำงานหรือมีผลต่อการดำเนินการ ทั้งนี้ขึ้นอยู่กับเงื่อนไขที่วางไว้
 

ความสัมพันธ์แบบสืบทอดคุณสมบัติ(Generalization/Specialization) เป็นความสัมพันธ์คล้ายๆแม่ลูกโดย Use Cases ที่อยู่ฝั่งตรงข้ามหัวลูกศรจะเป็น Use Cases ที่รับทอดคุณสัมบัติจาก Use Cases อีกด้านหนึ่ง

Activity Diagram เป็นแผนภาพที่แสดงให้เป็นถึงลำดับและกิจกรรมต่างๆที่เกิดขึ้น โดยแสดงลำดับขึ้นตอนการทำงานของผู้กระทำ(Actor)และระบบว่ามีความสัมพันธ์หรือติดต่อสื่อสารกันอย่างไรในแต่ละลำดับ เพื่อให้เห็น workflow การทำงานของระบบทั้งหมด ลักษณะแผนภาพจะคล้ายกับ Flowchart

สัญลักษณ์ความหมาย

Swimlane เป็นการแบ่งขอบเขตการทำงานของกิจกรรมหรือผู้ดำเนินงานออกเป็นส่วนๆ

ชื่อกิจกกรม(Activity) คือกิจกรรมที่ต้องดำเนินการ

แบบทางเลือกตัดสินใจ(Decision Node) เป็นการสร้างเงื่อนไขให้กับกิจกรรม เลือกทำอย่างใดอย่างหนึ่ง เช่น Loging สำเร็จหรือไม่ ซึ่งเป็นไปได้ 2 กรณีคือสำเร็จและไม่สำเร็จ
 
Merge Node เป็นการรวมกิจกรรมที่ถูกแยกโดยใช้เงื่อนไขการตัดสินใจ

Control Flow คือทางเดินของกิจกรรม
Fork คือการทำงานแบบขนานหรือทำงานพร้อมกัน เช่นกิจกรรม A ส่งข้อมูลให้ กิจกรรม B และ C ซึ่งทั้งสองกิจกรรมต้องรับข้อมูลและไปประมวลผลพร้อมๆกัน
 Join Node เป็นการรวมกิจกรรมที่ทำงานแบบขนานให้กลับมาทำงานพร้อมกัน
 
จุดเริ่มต้นของกิจกรรม(Start Node)
 
จุดสิ้นสุดของกิจกรรม(End Node)


Sequence Diagram เป็นแผนภาพที่แสดงความสัมพันธ์ของแต่ละ Object ตามลำดับและเวลาที่เกิดขึ้น ทำให้เราทราบเหตุการณ์ไหนจะเกิดขึ้นก่อนหรือหลังตามลำดับและเวลาที่เกิดขึ้นในแต่ละ Object

สัญลักษณ์ความหมาย


ผู้กระทำ(Actor) เป็นผู้กระทำกิจกรรมต่างๆที่เกิดขึ้นกับระบบ

วัตถุ(Object) เป็นส่วนของ Class ที่ใช้สร้างเพื่อแสดงลำดับการทำงานของแผนภาพเพื่อตอบสนองตามความต้องการของ Actor

เส้นชีวิต(Lifeline) แสดงถึงช่วงการทำงานของ Object 
 

จุดโพกัสของการควบคุม(A Focus of Control) แสดงถึงการรับส่งข้อมูลระหว่าง Object ตั้งแต่เริ่มต้นและสิ้นสุดของแต่ละกิจกรรมที่มีชีวิตอยู่
Message เป็นคำสั่งจาก Object หนึ่งส่งกลับไปให้อีก Object หนึ่ง
 

Alternative เป็นทางเลือกในการทำงาน จะทำงานก็ต่อเมื่อเข้าเงื่อนไขที่สร้างไว้ เช่นระบบ Login หากใส่ Password ถูกก็สามารถเข้าระบบได้แต่หากใส่ผิดก็จะมีข้อความแจ้งเตือน
 

Loop แสดงการทำงานซ้ำไปเรื่อยๆไม่ระบุจำนวนรอบ จะออกจาก Loop ก็ต่อเมื่อพบเงื่อนไขที่
 

Call back เป็นการประมวลผลและคือค่ากลับภายใน Object เดียวกัน


State diagram เป็นแผนภาพที่แสดงให้เห็นสถานะและเงื่อนไขการเปลี่ยนแปลงในแต่ละ state เพื่อแสดงให้เห็นถึงฟังก์ชันงานว่าครบถ้วนหรือไม่โดยดูจากแต่ละ state ว่าเกิดขึ้นตอนไหนและผ่านไปยัง state ไหนต่อ


สัญลักษณ์ความหมาย
Initial State เป็นจุดเริ่มต้นของกิจกรรม


Transition เป็นเส้นเชื่อมความสัมพันธ์ระหว่าง State สอง State โดยบนเส้น Transition จะมี Condition กำกับอยู่บนเส้นเพื่อแสดงเงื่อนไขในการเข้าหรือออกจาก State

State เป็นกิจกรรมที่ทำเพื่อใช้เปลี่ยน State
 
Final State เป็นจุดสิ้นสุดของกิจกรรม

Class Diagrams เป็นแผนภาพที่แสดงถึง Class และความสัมพันธ์ระหว่าง Class เป็นแผนภาพที่เหมาะสำหรับการเขียน Code เพราะสามารถอธิบายคุณลักษณะและการดำเนินงานของ Class ได้เป็นอย่างดี เป็น Diagrams ที่สามารถอธิบายภาษาเชิงวัตถุได้(Object Orientation)

สัญลักษณ์ความหมาย

Class Name เป็นการแสดงถึงกลุ่มของ Class โดยประกอบไปด้วย
1. ชื่อ Class
2. Attribute เป็นคุณสมบัติที่บรรยายถึง Object ใน Class เช่น StudentID ต้องเป็นตัวเลข
3. Method คือเป็นตัวบอกว่า Object จะสามารถดำเนินการอะไรได้บ้าง

Association เป็นเส้นแสดงความสัมพันธ์ของ Class ที่อยู่ในระดับเดียวกัน มีความสำคัญเท่ากัน
Aggregation มี Class ใหญ่เป็น Object หลักและมีอีก Class หนึ่งเป็นส่วนประกอบ เช่นรถยนต์มี Class หลักคือรถและมี Class ล้อเป็นส่วนประกอบ
 Composition เป็น Class ที่มีความสำคัญเสมอกันจะขาด Class ใด Class หนึ่งไม่ได้ หาก Class หนึ่งถูกทำลาย อีก Class จะถูกทำลายด้วย
 Generalization เป็น Class ที่สืบทอดคุณสมบัติระหว่าง Class หลักกับ Class ย่อย


ป้ายกำกับ

แสดงเพิ่มเติม

บทความยอดนิยม

Software Development Life Cycle (SDLC) คืออะไร ทำไมจำเป็นต่อการพัฒนาซอฟต์แวร์

ม.ปลายอยากเข้าสายคอม วิทยาการคอม วิศวกรรมคอม เตรียมตัวอย่างไร ต้องมีพื้นฐานอะไรบ้าง

Automation testing หรือ การทดสอบซอฟต์แวร์อัตโนมัติ คืออะไร ทำไมถึงสำคัญต่อการทดสอบซอฟต์แวร์

วิธีเก็บ วิเคราะห์ รวบรวม requirement อย่างไรให้มีประสิทธิภาพ

Performance Test คือ อะไร วัดประสิทธิภาพของระบบ ล่มไม่ล่ม จะรู้ได้อย่างไร

8 สิ่งที่ AI จะมาเปลี่ยนโลกในอนาคต

ถอดรหัสความลับเครื่อง Enigma จุดเริ่มต้นและจุดจบของสงครามโลกครั้งที่ 2