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
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)