การเกิดปฏิสัมพันธ์ระหว่างออบเจ็กต์โดยใช้ Sequence Diagram
ตัวอย่าง Sequence Diagram
ตัวอย่าง Sequence Diagram
ความหมายของ Sequence Diagram
องค์ประกอบของ Object Object name ◦ บอกชื่อของออบเจ็กต์ ◦ ออบเจ็กต์ที่อยู่ทางซ้ายมือจะท างานก่อนออบเจ็กต์ที่อยู่ทางขวามือ Lifeline ◦ เส้นประที่ลากในแนวดิ่งจากออบเจ็กต์ Activation ◦ สี่เหลี่ยมเล็กๆ ที่อยู่บนเส้น lifeline ◦ แทนการท างานต่างๆ ของออบเจ็กต์ของ activation นั้นต้องกระทำ ความยาวของรูปที่ใช้แทน activation เป็นตัวที่บอกถึงระยะเวลา ของการทำงานของออบเจ็กต
การส่ง message ระหว่าง Object
การส่ง message ระหว่าง Object Synchronous ◦ เป็นการส่ง message หรือติดต่อแบบรอคอยคำตอบ หรือการตอบกลับกอ่นทจี่ะ ทำงานอื่นๆ ต่อไป Asynchronous ◦ เป็นการส่ง message หรือติดต่อแบบไม่รอคอยคำตอบ ◦ ไม่มีการหยุดทำงานของผู้ส่ง ผู้ส่งสามารถทำงานต่อได้ Return ◦ เป็น message ที่เกิดขึ้นในกรณีที่ต้นทางเริ่มการติดต่อแล้วปลายทางต้องมีการ ติดต่อกลับด้วย ◦ การส่งเมสเสจจะเขียนข้อความกำกับไว้ด้วย ◦ ถ้าหากเป็น message เงื่อนไข จะเขียนเงื่อนไขไว้ในวงเล็บ ก้ามปู [ ] โดย message จะถูกส่งก็ต่อเมื่อเงื่อนไขนั้นเป็นจริง
กรณีเป็นเงื่อนไข
Time หรือ ช่วงเวลา
ขั้นตอนการสร้าง Sequence Diagram ขั้นแรกเป็นการกำหนด external หรือ internal entity กรณีที่เป็น internal กระบวนการติดต่ออาจเริ่มจาก actor โดยตรงและถูกกำหนดให้เป็นตัวเริ่มต้นโดยอัตโนมัติ กรณีที่เป็น external อาจอยู่ในรูปของระบบอื่นๆ ขั้นตอนต่อไปเป็นการระบุ object และ class
ขั้นตอนการสร้าง Sequence Diagram (ต่อ) การรับส่ง message ระหว่าง object เริ่มต้นจาก object หนึ่งไปยังอีก object อื่นๆ ลงไปตามเส้นเวลาทุกครั้งที่มีการเรียกใช้ message
สัญลักษณ์ มาตรฐานของ Sequence Diagram
สัญลักษณ์ใน Sequence Diagram
ขั้นตอนการสร้าง Sequence Diagram (ต่อ) Activation บริเวณที่มี activation bar ครอบอยู่แสดงให้เห็นว่าวัตถุที่สั่งงานไป ยังคงรอคอยผลลัพธ์กลับจากวัตถุที่ทำงานให้อยู่ Messageในลำดับถัดมาจะเป็นผลของการสร้าง object ของ activation ใหม่ ที่ตำแหน่งสุดท้ายของการ activation อาจใช้สำหรับการคืนค่ากลับไปยังcaller ซึ่งจะแทนด้วยเส้นประที่เริ่มจากผู้รับไปยังผู้ส่ง Message ที่ปรากฏในส่วนบนจะเกิดขึ้นก่อน message ที่อยู่ถัดลงมา ซึ่งเป็นไปตามlifetime message ที่อยู่ท้ายสุดจะเป็นการทำงานลำดับสุดท้ายของ Use Case สัญลักษณ์ลูกศรเริ่มต้นที่ sender ไปสิ้นสุดที่ receiveปกติในการทำงานลูกศรต้องเริ่มต้นจากซ้ายไปขวา อาจเกิดเหตุการณ์ Self Message (Self Call Message) ในกรณีที่มีการเรียกใช้ตัวเอง ซึ่งอาจทำงานจบได้ที่ตัวobject นั้นเองก็ได้
แทรก เรื่อง ตัวอย่าง Class Diagram
แทรก เรื่อง ตัวอย่าง Class Diagram
ขั้นตอนการสร้าง Sequence Diagram (ต่อ) message ที่อยู่ท้ายสุดจะเป็นการทำงานลำดับสุดท้ายของ Use Case สัญลักษณ์ลูกศรเริ่มต้นที่ sender ไปสิ้นสุดที่ receiveปกติในการทำงานลูกศรต้องเริ่มต้นจากซ้ายไปขวา อาจเกิดเหตุการณ์ Self Message (Self Call Message) ในกรณีที่มีการเรียกใช้ตัวเอง ซึ่งอาจทำงานจบได้ที่ตัวobject นั้นเองก็ได้
การตอบสนองของ object ต่อการร้องขอจาก message ใช้สัญลักษณ์เส้นประแทนการคืนค่ากลับไปยัง sender Destroying Object : Objectสามารถลบตัวเองได้
เทคนิคการสร้าง Sequence Diagram จาก Use Case และ Class Diagram 1. พิจารณาทีละ Use Case โดยยงัไม่ต้องค านึงถงึ ความสัมพันธ์ที่แต่ละ Use Case มีต่อกัน 2. พิจารณาแต่ละ Use Case ว่ามี Class/Object ใด ร่วมท าให้เกิดกิจกรรมใน Use Case นั้นๆ บ้าง 3. นำเอา Class/Object ต่างๆ มาเรยีงต่อกันในแนวนอน โดยน า Actor (ในกรณีที่ Use Case นั้นมี Actor ด้วย) ไว้ที่ด้านซ้ายมือสุดเสมอ แล้วน า Class/Object ต่างๆ เรียงต่อกันจากซ้ายไปขวาตามความเหมาะสม
เทคนิคการสร้าง Sequence Diagram จาก Use Case และ Class Diagram (ต่อ) 4. หาก Use Case นั้นมี Actor โดยปกติแล้วกิจกรรมแรกที่ ถูก เรียกมักจะเกิดจาก Actor ก่อนเสมอ ดังนั้นเมื่อเกิดกิจกรรมที่ไป ยัง Class/Object ใด ให้ย้าย Class/Object นั้นมา ทางซ้าย ทำเช่นนี้ ไปเรื่อยๆ จนกระทั่งกิจกรรมทั้งหมดครบถ้วน 5. กรณีที่มี กิจกรรมเกิดขึ้นใหม แต่ Operation ที่เกิดขึ้น ไม่มีใน Class/Object ที่ลูกศรชี้ไป ให้เข้าไปเพิ่ม Operation นั้นๆ ลงไปที่ Class นั้นใน Class Diagram
ตัวอย่าง sequence diagram จัดคอร์ดอบรม
เทคนิคการสร้าง Sequence Diagram จาก Use Case และ Class Diagram (ต่อ) 6. หากต้องมีการเพิ่ม Class ใหม่เข้าไปใน Sequence Diagram ต้องเข้า ไปเพิ่มเติม Class นั้น และ Relationship ที่มีทั้งหมดใน Class Diagram ด้วย (แต่ Class ที่เพิ่มเข้าไปนั้นเป็น Class เพื่อจำลอง กิจกรรมที่เกิดขึ้นจริงๆ ของระบบเท่านั้น ไม่ใช่ Class ที่เพิ่มเข้าไปเพื่อการ Implement เช่น User Interface ต่างๆ) 7. ทำาขั้นตอน 1 – 6 จนครบทุก Use Case 8. การสร้างความสัมพันธ์ของ Sequence Diagram จาก Use Case ที่มีการ Uses/Extends ทำได้โดยการนำ Class และกิจกรรมที่เกิดขึ้นใน Use Case ที่ถูก Uses/Extends มาแทรกเข้าไปใน Use Case ที่ เรียกใช้ และใช้กิจกรรมเพื่อเชื่อมโยง Sequence Diagram ทั้งสอง
Sequence diagram ของการคุยโทรศัพท์ ในการคุยโทรศัพท์ use case ที่มีได้แก่ การต่อโทรศัพท์ การคุยโทรศัพท์ การมีสายเรียกซ้อน ( เป็น extends ของ use case การคุยโทรศัพท์) ในการคุยโทรศัพท์ Class ที่มีได้แก่ ผู้ต่อโทรศัพท์ (Actor) ผู้รับโทรศัพท์ (Actor) เครื่องโทรศัพท์
Sequence Diagram ของการคุยโทรศัพท์ สำหรับ Use Case การต่อโทรศัพท์
อธิบาย การต่อโทรศัพท์เริ่มต้นเมื่อ ผู้โทรศัทพ์ยกหูของเครื่องรับโทรศัพท์ ผู้ต่อโทรศัพท์หมุนเบอร์เครื่องที่ต้องการติดต่อ เมื่อเสร็จสิ้นการหมุนเบอร์โทร ฯ จะเกิดสัญญาณดังที่โทรศัทพ์เครื่องปลายทาง โดยมีเงื่อนไขว่า สัญญญาณจะดังอยู่นานเต็มที่เพียง 30 S สัญสักษณ์ที่แสดงแทนเงื่อนไขดังกล่าว คือเส้นวงกลมที่ย้อนกลับเข้ามา Object “เครื่องโทรศัพท์” หากมีผู้ยกโทรศัพท์ที่เครื่องปลายทางก่อนหมดอายุเวลา 30 นาที จะมีการเรียกใช้ Method “ต่อ Connection” คือมีการเชื่อมสัญญาณเพื่อเริ่มการสนทนา
Sequence Diagram ของการคุยโทรศัพท์ สำหรับ Use Case การคุยโทรศัพท์และมีสายเรียกซ้อน
อธิบาย กิจกรรมเริ่มต้นเมื่อผู้ต่อสายโทรศัพท์ “คุย” ไปยังเครื่องโทรศัทพ์ต้นทาง เครื่องต้นทางเรียกใช้ method “รับสัญญาณเสียง” จาก Object “โทรศัพท์ของผู้รับ” ซึ่งเป็นโทรศัพท์ปลายทาง เพื่อให้รับสัญญาณที่ส่งไป ผู้รับ “คุย” ไปยังโทรศัพท์ปลายทาง (คือการเรียนกใช้ Method “คุย” ของ Object “โทรศัพท์ของผู้รับ”) Object “โทรศัพท์ของผู้รับ” เรียกใช้method รับสัญญาณเสียง จาก Object โทรศัพท์ของผู้ต่อ ฯ เพื่อให้รับสัญญาณเสียงที่ส่งไป แล้วเริ่มต้นสนทนา
อธิบาย ในระหว่างการสนทนา หากมีสายเรียกซ้อนเข้ามา ที่ Object “เครื่องโทรศัทพ์ของผู้ต่อ” จะเรียกใช้ method มีสายเรียกซ้อน ของตัวเองมาใช้งาน เมื่อมีสายเรียกซ้อน หากผู้ต่อโทรศัทพ์ เรียกใช้ Method “กดเปลี่ยนสาย” ของ Object เครื่องโทรศัพท์ของผู้ต่อ ทำให้มีการใช้ method (ตัด connection) ของ Object “โทรศัพท์ของผู้รับ” และในกรณ๊ที่กดเปลี่ยนสาย จะมีการเรียกใช้ method ตัด Conncetion ของ Object โทรศัทพ์ของผู้รับ ผู้ต่อโทรศัพท์ต้องการ “จบการสนทนา” ของสายแรก ทำให้มีการเรียกใช้ Method “วางหู” เพื่อจบการสนทนาดังกล่าว จากข้างต้น ทำให้ผู้รับโทรศัพท์สายแรก ต้องเรียกใช้ Method “วางหู” เพื่อจบการสนทนาด้วยเช่นกัน
การยืมหนังสือ
อธิบาย การยืมหนังสือ 1. เมื่อสมาชิกต้องการยืม บรรณารักษ์ ทำการตรวจสอบการเป็นสมาชิก 2. ระบบแสดงข้อมูลสมาชิก ให้บรรณารักษ์ทราบ 3. บรรณารักษ์ทำการตรวจสอบการจองหนังสือโดย ตรวจสอบการจองของสมาชิก 4. ระบบแสดงข้อมูลการจองให้บรรณารักษ์ทราบ 5. บรรณารักษ์ตรวจสอบรายละเอียดหนังสือ โดยอ้างอิงจาก รหัส RFID หนังสือ 6. ระบบแสดง ข้อมูลรายละเอียดหนังสือให้บรรณารักษ์ทราบ 7. บรรณารักษ์ทำการสร้างการยืม 8. บรรณารักษ์ กำหนดข้อมูลการยืม ดังนี้ - รหัสการยืม - วันที่ยืม 9. บรรณารักษ์ทำการสร้างรายละเอียดการยืม 10.บรรณารักษ์ กำหนดข้อมูลรายละเอียดการยืม ดังนี้ - เลขที่การยืม - จำนวนที่ยืม 11.ระบบทำการคำนวณจำนวนยืมสุทธิ 12.ระบบทำการกำหนดจำนวนยืมสุทธิ 13.บรรณารักษ์ทำการสร้างใบบันทึกการยืม 14.บรรณารักษ์กำหนดใบสลิปการยืม
ตัวอย่าง ระบบ บริหารจัดการคลินิค หมอฟัน ตัวอย่าง ระบบ บริหารจัดการคลินิค หมอฟัน http://tkmzaa.wixsite.com/khunchai2
กิจกรรม สร้าง use case diagram สร้าง sequence diagram ของระบบ ATM
Sequence Diagram ของระบบ ATM - ระบบ ATM ประกอบด้วย Use Case ต่างๆ ดังนี้ - การถอนเงิน - การดูยอดเงิน - ระบบประกอบด้วย Class ต่างๆ ดังนี้ - เครื่อง ATM - ปุ่มหมายเลข บนเครื่อง ATM (เป็น Aggregate ของเครื่อง ATM) - หน้าจอบนเครื่อง ATM (เป็น Aggregate ของเครื่อง ATM) - เครื่องจ่ายเงิน หรือ Cash Dispenser (เป็น Aggregate ของเครื่อง ATM) - เครื่องพิมพ์ Slip (เป็น Aggregate ของเครื่อง ATM) - ผู้ใช้เครื่อง (Actor) - เงินสด - บัญชีเงินฝาก
การดูยอดเงิน
การถอนเงิน