เน้นที่การแสดงการทำงานของเมสเสจต่างๆ ในระบบ อธิบายการโต้ตอบในระบบ เป็นไดอะแกรมที่นำมาแทน Collaboration Diagram ใน UML
การสร้าง Communication Diagrams
1. กำหนดบริบท communication diagram
2. หาออบเจ็ค (แอคเตอร์) และความสัมพันธ์ระหว่างออบเจ็คที่เกี่ยวข้องในการทำงานร่วมกัน
3. วาดโครงของ communication diagram.
4. ใส่เมสเสจ
5. ตรวจสอบ communication ไดอะแกรม
การกำหนดลำดับการทำงานของเมสเสจควรเริ่มต้นด้วยการสร้างลิงก์ระหว่างออบเจ็กต์ก่อน
วิธีการ
- แสดง interaction ที่เกิดขึ้นระหว่าง object
- แสดงให้เห็นถึงการทำงานร่วมกัน โดยการรับและส่ง message ระหว่างกัน
- Link จะเป็นการแสดงความร่วมมือระหว่างกัน
- เน้นไปที่พื้นที่การทำงานแทนที่จะเป็นเรื่องของเวลา
- Communication เป็นการกำหนดวิธีของการแยกหมวดหมู่
- Use case หรือ Operation จะถูกทำให้เข้าใจได้โดยกลุ่มของ classes
- Association ที่ใช้กำหนดบทบาทและใช้งานเฉพาะอย่าง
- Communication จะถูกกำหนดการ interaction
- Collaboration diagram อาจประกอบไปด้วย object, actor, link และ message ที่มีปฏิกิริยาระหว่างกัน
- Diagram จะแสดงรายละเอียดว่ามีอะไรเกิดขึ้นกับ object
- เช่น วิธีการส่งและรับ message กับ object อื่นๆ
- เป็น diagram ที่ได้มาจาก use case
- เป็นการแสดง interaction ที่เกิดขึ้นระหว่าง actor และ object หรือ instances ของ classes
- Communication เน้นไปที่การตอบโต้และความสัมพันธ์ที่เกิดขึ้นจากการร่วมมือกันในการทำงานของ object
- แต่ละ diagram จะสร้างได้จากหลาย scenario ของ use case ดังนั้นจึงเป็นไปได้ที่จะมีหลายๆ object ที่มีการ communication กันในแต่ละ use case
- ลำดับของ message ที่แสดงอยู่ภายใน diagram จะไม่ได้มีลักษณะเช่นที่ปรากฏอยู่ใน sequence diagram
- ใช้เฉพาะ message ที่ต้องการแสดงการเปลี่ยนแปลงของลำดับการทำงานภายใน scenario
- การนำเสนอข้อมูลคล้ายกับ sequence diagram
- เน้นที่ความสัมพันธ์แบบ static ของ class model
- Class roles แสดงบทบาทของ object
- Actor เป็น actor ที่มีส่วนร่วมกับการ interaction
- Association roles กำหนดรายละเอียดของ association หรือเรียกว่า link โดยปกติจะแทนด้วยเส้นตรงและมี <<stereotypes>> กำกับไว้
- message จะแทนด้วยลูกศรและ label กำกับไว้ที่ link
- แสดงทิศทางการรับและส่ง message ไปยัง object ต่างๆ
- ชื่อและพารามิเตอร์จะกำกับในลูกศร
- ใส่ตัวเลขเพื่อแสดงค่าลำดับการทำงาน
Symbol (Communication Diagram)
- Message ใน communication diagram จะไม่มีช่วงเวลากำหนด แต่มีเพียงลำดับการทำงานเท่านั้น
- Loop จะใช้ * กำกับไว้ที่หลังตัวเลขลำดับการทำงาน
- กรณีต้องการกำหนดเงื่อนไขการทำงานให้กับเมสเสจ ด้วย Guard-Condition ซึ่งเป็นเงื่อนไขที่เป็นจริงหรือเท็จ จะใช้สัญลักษณ์เหมือนสัญลักษณ์การวนซ้ำแต่ไม่มีเครื่องหมายดอกจันนำหน้า
ตัวอย่าง Communication Diagram
ของระบบโรงแรม