19 กุมภาพันธ์ 2558

Communication Diagram

     เพื่อแสดงรายละเอียดพฤติกรรมของซอฟต์แวร์ เป็นแผนภาพที่สร้างคล้ายกับSequence Diagram บางครั้งเรียกว่า Collaboration Diagram แสดงการรับส่งข้อมูลระหว่าง object ใช้ตรวจสอบว่า objectและ method ทั้งหมดมีความเหมาะสม จะใช้สัญลักษณ์คล้ายกันกับ Sequence Diagram แต่จะมีเส้นลูกศรกากับบนเส้น association และมีตัวเลขกากับโดยใช้ระบบดิวอี้คือเรียงตามลาดับและระดับ พร้อมคาอธิบาย operation ที่เกิดระหว่าง object ดังภาพ

แผนภาพการสื่อสาร(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 ยาก และสัญลักษณ์ที่ใช้ซับซ้อน 


      โดยทั่วไป tools ที่ใช้เขียน UML จะสามารถแปลง (convert) Sequence Diagram ไปเป็น Collaboration Diagram ได้ แต่ใน Star UML เรียกว่า Interaction Instance
การออกแบบ interface เป็นการออกแบบการทางานประสานกันระหว่างระบบย่อยๆของซอฟต์แวร์ เป็นคุณลักษณะเฉพาะของชุด object และ behavior การออกแบบ Interface ทาให้ได้คุณลักษณะเฉพาะที่สามารถนาไปประยุกต์ในการพัฒนาและติดตั้งระบบซอฟต์แวร์อื่น ๆ ได้ และทาให้ผู้ใช้เกิดความเข้าใจในการทางานกับซอฟต์แวร์ได้ดียิ่งขึ้น ช่วยปรับปรุงการออกแบบและการพัฒนาซอฟต์แวร์ให้มีคุณภาพมากขึ้น


อ้างอิงจาก : รายงานการฝึกอบรม Object-Oriented Software Development with UML เขตอุตสาหกรรมซอฟต์แวร์ประเทศไทย (Software Park Thailand) 
อ้างอิงจาก : https://sites.google.com/site/groupworkspecial/collaboration-diagram




ไม่มีความคิดเห็น:

แสดงความคิดเห็น