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

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

สื่อการสอน

ตัวอย่าง Communication Diagram

ตัวอย่าง Communication Diagram
การกำหนดลำดับการทำงานของข้อความควรเริ่มต้นด้วยการสร้างลิงค์ระหว่างออบเจ็กต์ก่อน จากนั้นทำการ
ระบุข้อความต่างๆ ของระบบที่เรากำลังสนใจ ระบุลำดับให้กับข้อความเหล่านั้นโดยการใช้ตัวเลขจำนวน
เต็มเช่น 1.1, 3.2, 3.2.4 เป็นต้น นอกจากนี้มีการใช้ตัวอักษรร่วมด้วย เพื่อแสดงระดับการทา งานที่เท่ากันของ
ข้อความมากว่า 1 ข้อความ เช่น 1.1a และ 1.1b เป็นข้อความที่อยู่ระดับเดียวกัน
- ในกรณีต้องการระบุว่าข้อความใดมีการทำซ้า (ภายใต้เงื่อนไข) ให้ใช้สัญลักษณ์ดอกจัน (*)
ตามด้วยเงื่อนไขการทา ซ้า และข้อความที่ต้องการให้ทา ซ้า
- การกำหนดให้ข้อความที่มีการทา ซ้ำให้ทา งานไปพร้อมๆ กันแบบคู่ขนาน ให้ใช้สัญลักษณ์
| | ตามหลังเครื่องหมายดอกจัน
- กรณีต้องการกำหนดเงื่อนไขการทำงานให้กับข้อความ ด้วย Guard-Condition ซึ่งเป็น
เงื่อนไขที่เป็นจริงหรือเท็จช่วยเราในการกำหนดเงื่อนไขดังกล่าว
- สัญลักษณ์ที่ใช้จะเหมือนสัญลักษณ์การวนซ้า แต่ไม่มีเครื่องหมายดอกจันนำหน้า





     ดังนั้นสรุปได้ดังนี้ แผนภาพยูเอ็มแอลที่อยู่ในกลุ่มพฤติกรรม ประกอบด้วย 4 แผนภาพ ดังนี้
(1) แผนภาพยูสเคส (Use Case Diagrams) แสดงการปฏิสัมพันธ์ (interact) ในสองรูปแบบคือ
ระหว่าง (1) ระบบกับผู้ใช้ หรือ (2) ระบบกับระบบภายนอก (External Systems) กล่าวคือ ยูส
เคสจะแสดงว่าใครบ้างที่เป็นผู้ใช้ระบบ และผู้ใช้เหล่านั้นมีการติดต่อกับระบบในลักษณะใด
ยูสเคสมีจุดเด่นคือเป็นแผนภาพที่สามารถทา ความเข้าใจได้ง่าย นักวิเคราะห์ระบบมักจะใช้ยูส
เคสในช่วงการรวบรวมความต้องการของระบบ (System Requirement) ซึ่งจะช่วยให้
นักวิเคราะห์สามารถกา หนดขอบเขตของระบบได้อย่างถูกต้องครบถ้วน
(2) แผนภาพกิจกรรม (Activity Diagrams) แสดงให้เห็นกลุ่มของการกระทา หรือการปฏิบัติงานที่
เรียกว่า แอกชัน (action) ซึ่งประกอบขึ้นตามลา ดับขั้นรวมกันเป็นกิจกรรม (activity) ของงาน
แผนภาพกิจกรรมจะแสดงให้เห็นถึงขั้นตอนการปฏิบัติงาน ทางเลือกและเงื่อนไขของทางเลือก
ที่มีในแต่ละกิจกรรม
(3) แผนภาพสเตจแมชีน (State Machine Diagrams) แสดงสถานะของระบบตามช่วงชีวิต รวมทั้ง
แสดงเหตุการณ์ใด ๆ ที่สามารถเปลี่ยนสถานะของระบบเพื่อการเสริมสร้างความเข้าใจโดยเฉพาะในการอธิบายการทา งานที่ซับซ้อน แผนภาพนี้สามารถใช้ในการอธิบายพฤติกรรมระบบทั้งหมด หน่วยย่อยของระบบ (Subsystem) หรือแม้แต่เพียงวัตถุเดียว (Single Object) ในระบบ
(4) แผนภาพปฏิสัมพันธ์ (Interaction Diagrams) แผนภาพที่จัดในกลุ่มนี้ออกเป็น 4 แบบดังนี้
-  แผนภาพลาดับ (Sequence Diagrams) แสดงการปฏิสัมพันธ์ระหว่างอ็อบเจกต์ตามลาดับของเหตุการณ์ที่เกิดขึ้น แผนภาพลาดับมีลักษณะที่ง่ายต่อการทาความเข้าใจ จึงมักนามาช่วยให้ผู้ใช้งานสามารถเห็นภาพการทางานของระบบ และมักจะถูกนามาใช้เสริมกับแผนภาพกิจกรรม เนื่องจากแผนภาพกิจกรรมอาจจะประกอบไปด้วยเงื่อนไขจานวนมาก ทาให้มีทางเลือกในการทางานได้หลายเส้นทาง เราจึงนาแผนภาพลาดับมาใช้ในเฉพาะเส้นทางที่เลือกบางเส้นที่ต้องการอธิบายขยายความ
-  แผนภาพการสื่อสาร (Communication Diagrams) แสดงวิธีที่อ็อบเจกต์ใช้ในการปฏิสัมพันธ์ รวมทั้งการเชื่อมโยง (connections) ที่ใช้ในการสนับสนุนการปฏิสัมพันธ์นั้น ในยูเอ็มแอลเวอร์ชันแรกเรียกแผนภาพแบบนี้ว่า แผนภาพการร่วมมือ (Collaboration Diagrams)
-  แผนภาพเวลา (Timing Diagrams) แสดงการเปลี่ยนแปลงสถานะ (state) เงื่อนไข (condition) หรือบทบาท (role) ของอ็อบเจกต์ตามลาดับของเวลา โดยปกติสถานะที่เปลี่ยนแปลงไปนั้นมีสาเหตุเนื่องมาจากการตอบสนองต่อเหตุการณ์ใดๆที่เกิดขึ้น
- แผนภาพแสดงการปฏิสัมพันธ์อย่างหยาบ (Interaction Overview Diagrams) ใช้ในการรวบรวมแผนภาพลำดับ แผนภาพการสื่อสาร และแผนภาพเวลา เข้าด้วยกันเพื่อแสดงการปฏิสัมพันธ์ที่สาคัญที่เกิดขึ้นในระบบ

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



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




♦ Welcome ♦