ตัวอย่าง

ตัวอย่าง Sequence Diagram


ตัวอย่าง Sequence Diagram ของระบบ ATM
ในระบบ ATM จะประกอบด้วย Use Case ต่างๆ ดังนี้
• การถอนเงิน                -การดูยอดเงิน
ในระบบ ATM จะประกอบด้วย Class ต่างๆ ดังนี้
• เครื่อง ATM
• ปุ่มหมายเลข บนเครื่อง ATM (เป็น Aggregation ของเครื่อง ATM)
• หน้าจอบนเครื่อง ATM (เป็น Aggregation ของเครื่อง ATM)
• เครื่องจ่ายเงินหรือ Cash Dispenser (เป็น Aggregation ของเครื่อง ATM)
• เครื่องพิมพ์ Slip (เป็น Aggregation ของเครื่อง ATM)
• ผู้ใช้เครื่อง (ถือเป็น Class ที่เป็น Actor)
• เงินสด
• บัญชีเงินฝาก
·         จาก Class และ Use Case ที่มี สามารถสร้าง Sequence Diagram สำหรับ Use Case ต่างๆ ได้ดังนี้
Sequence Diagram สำหรับ Use Case การขอดูยอดเงิน


         รูป Sequence Diagram ของการขอดูยอดเงินจากเครื่อง ATM

           จากรูปเป็นภาพของ Sequence Diagram ที่แสดงกิจกรรมใน Use Case การขอดูยอดเงินคงเหลือจากเครื่อง ATM โดยจะให้ผู้ใช้เครื่อง ซึ่งถือเป็น Actor เป็น Class ที่อยู่ทางซ้ายสุดของ Sequence Diagram ถัดมาคือเครื่อง ATM ซึ่งเครื่อง ATM นั้นประกอบด้วย (Aggregation) ปุ่มหมายเลข และหน้าจอ ซึ่งเป็น Class ที่แสดงไว้ในอันดับถัดมา และบัญชีเงินฝาก เป็น Class ที่อยู่ทางขวาสุดของ Sequence Diagram

            กิจกรรมใน Use Case นี้เริ่มต้นที่ผู้ใช้เครื่องสอดบัตร ATM เข้าไปยังเครื่อง ATM (ซึ่งหมายความว่าตู้ ATM ต้องมี Function เพื่อการสอดบัตร ATM อยู่ในตัว) ตามด้วยการกดรหัสของผู้ใช้เครื่องที่ปุ่มหมายเลข (Function กด เป็นของปุ่มหมายเลข)
ซึ่งผลลัพธ์ที่ได้จากการกดนี้จะได้รหัสที่ผู้ใช้เครื่องกดถ้ารหัสไม่ถูกต้อง เครื่องจะถูกสั่งให้เตือนผู้ใช้เครื่องว่ารหัสผิดพลาด แต่เครื่อง ATM จะเตือนได้นั้นต้องแสดงข้อความผ่านทางหน้าจอของเครื่อง ดังนั้นเครื่อง ATM จึงสั่งให้หน้าจอแสดงข้อความเตือน

           หลังจากแสดงข้อความเตือนเสร็จสิ้นแล้ว เครื่องจะถูกสั่งให้หยุดทำรายการของผู้ใช้รายนี้ แต่ในทางกลับกันหากรหัสที่กดไว้นั้นถูกต้อง (พิจารณาเส้นที่ 6 จากด้านบน)  จะเห็นว่าเครื่อง ATM ถูกสั่งให้ดำเนินการต่อไป โดยการดำเนินการแรกของเครื่องคือ การสั่งให้หน้าจอแสดงหน้าจอหลัก (Main Menu) หลังจากนั้นผู้ใช้จะกดปุ่มที่ปุ่มหมายเลขเพื่อระบุว่าตนต้องการขอดูยอดเงิน หลังจากนั้นบัญชีเงินฝากจะถูกสั่งให้ส่งค่ายอดคงเหลือ (ผ่านทาง Function ตรวจสอบยอดคงเหลือ) และผลที่ได้จะถูกแสดงออกทางหน้าจอซึ่งถือเป็นกิจกรรมสุดท้ายของ Use Case นี้




Sequence Diagram สำหรับ Use Case การถอนเงิน



              จากรูปเป็นภาพของ Sequence Diagram ที่แสดงภาพของกิจกรรมใน Use Case การถอนเงินจากเครื่อง ATM ซึ่งเมื่อเปรียบเทียบกับรูปที่ผ่านมาก่อนหน้านี้ จะพบว่ามี Class ที่มีส่วนร่วมใน Sequence Diagram นี้เพิ่มขึ้น ซึ่งได้แก่เครื่องจ่ายเงิน (Cash Dispenser) และเครื่องพิมพ์

ถ้าสังเกตให้ดีจะพบว่า จากเส้นกิจกรรมเส้นบนสุดจนกระทั่งถึงเส้นที่ 7 จากด้านบน จะเหมือนกับใน Sequence Diagram ของการขอดูยอดเงินฯ ทุกประการ แต่ความแตกต่างของกิจกรรมจะเกิดขึ้นหลังจากนั้นคือหลังจากที่ Main Menu แสดงให้เห็นผู้ใช้ จะกดจำนวนเงินที่ต้องการถอนที่ปุ่มหมายเลข (ซึ่ง Function กดอยู่ใน Class ปุ่มหมายเลขอยู่แล้ว) จากนั้นบัญชีจะถูกสั่งให้ตรวจสอบว่ามียอดคงเหลือในบัญชีเท่าใด ซึ่งถ้าหากว่าเงินที่มีอยู่ในบัญชีมีจำนวนมากกว่าจำนวนเงินที่ต้องการถอน เครื่องจ่ายเงินจะถูกสั่งให้จ่ายเงิน ต่อจากนั้นเครื่องพิมพ์จะถูกสั่งให้พิมพ์ SLIP แสดงการถอนเงินออกมา

ในทางกลับกัน ถ้าหากเงินในบัญชีมีจำนวนน้อยกว่าจำนวนที่ระบุว่าจะถอน หน้าจอจะถูกสั่งให้แสดงข้อความเตือนความผิดพลาด (Error Message)