แผนภาพการสื่อสาร(communication
diagram)
กรณีที่ต้องทางานกับหลายobjectจะใช้สัญลักษณ์ภาพสี่เหลี่ยมซ้อนกัน ดังภาพต่อไปนี้
จากภาพบริษัทจะส่งข่าวสารการส่งเสริมการขายให้แก่ลูกค้าหลาย
ๆ คน ซึ่งลูกค้า(Customer)
เป็น class หนึ่งและมี notify promotion() เป็น operation อยู่แล้ว
กรณีที่ต้องการระบุว่า object 2 object ทางานร่วมกันอย่างไร
อ้างอิงผ่านอะไรจะใช้ Qualifier
ซึ่งสัญลักษณ์ของ Qualifier คือกล่องสี่เหลี่ยมขนาดเล็กติดกับสัญลักษณ์ผู้ส่งและอยู่ที่ปลายเส้น
association ภายในกล่องประกอบด้วยคีย์
(key) ดังภาพ
การใช้ Communication Diagram จะทาให้เห็น association((link) ที่ชัดเจนระหว่าง object เพราะobject ต้องมี link กันก่อนจึงจะรับส่ง message กันได้ การรับส่ง message ก็คือ การ call functionกันนั่นเอง
การระบุประเภทของ link
จะช่วยในการตรวจสัมพันธ์
ซึ่งประเภทของ linkมีด้วยกัน 5 ประเภท คือ
> Association จะใช้แอตทริบิวที่ถาวร
> Parameter เป็นการส่งผ่านการเรียก procedure
> Global เป็นการอ้างอิงไปยั งobjectที่ทุกคนรู้จักและอ้างอิงไปยัง class หรืออ้างอิงไปยังclassของผู้ที่ร้องขอมา
> Local เป็นแอ็ตทริบิวส์ชั่วคราว (ภายในกระบวนการที่มีการเรียก)
> Self เป็นการ link กับตัวเอง
เปรียบเทียบระหว่างCommunication Diagram และ Sequence Diagram
sequence Diagram
ข้อดี: เขียนง่าย แสดงลำดับของการส่งข่าวสาร message ได้อย่างชัดเจน
ข้อเสีย: เขียนไปตามแนวนอน กรณีเพิ่มอ็อบเจกต์ใหม่อาจทำให้ล้นออกนอกกระดาษ
Communication Diagram
ข้อดี: ประหยัดเนื้อที่วาด มีความยืดหยุ่นสูง อธิบายการปฏิสัมพันธ์ที่ซับซ้อนได้ดี และแสดง concurrent behavior ได้
ข้อเสีย: อ่านลำดับของการส่ง message ยาก และสัญลักษณ์ที่ใช้ซับซ้อน
เปรียบเทียบระหว่างCommunication Diagram และ Sequence Diagram
sequence Diagram
ข้อดี: เขียนง่าย แสดงลำดับของการส่งข่าวสาร message ได้อย่างชัดเจน
ข้อเสีย: เขียนไปตามแนวนอน กรณีเพิ่มอ็อบเจกต์ใหม่อาจทำให้ล้นออกนอกกระดาษ
Communication Diagram
ข้อดี: ประหยัดเนื้อที่วาด มีความยืดหยุ่นสูง อธิบายการปฏิสัมพันธ์ที่ซับซ้อนได้ดี และแสดง concurrent behavior ได้
ข้อเสีย: อ่านลำดับของการส่ง message ยาก และสัญลักษณ์ที่ใช้ซับซ้อน
การออกแบบ interface
เป็นการออกแบบการทางานประสานกันระหว่างระบบย่อยๆของซอฟต์แวร์
เป็นคุณลักษณะเฉพาะของชุด object
และ behavior การออกแบบ Interface ทาให้ได้คุณลักษณะเฉพาะที่สามารถนาไปประยุกต์ในการพัฒนาและติดตั้งระบบซอฟต์แวร์อื่น
ๆ ได้ และทาให้ผู้ใช้เกิดความเข้าใจในการทางานกับซอฟต์แวร์ได้ดียิ่งขึ้น
ช่วยปรับปรุงการออกแบบและการพัฒนาซอฟต์แวร์ให้มีคุณภาพมากขึ้น
อ้างอิงจาก : รายงานการฝึกอบรม Object-Oriented Software Development with UML เขตอุตสาหกรรมซอฟต์แวร์ประเทศไทย (Software Park Thailand)
อ้างอิงจาก : https://sites.google.com/site/groupworkspecial/collaboration-diagram
ไม่มีความคิดเห็น:
แสดงความคิดเห็น