1 / 29

Chapter 10 Sequence Diagram

Chapter 10 Sequence Diagram. 10.1 การจำลองภาพในเชิงกิจกรรม (Dynamic View) ด้วย Sequence Diagram.

conan
Download Presentation

Chapter 10 Sequence Diagram

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 10 Sequence Diagram

  2. 10.1 การจำลองภาพในเชิงกิจกรรม (Dynamic View) ด้วย Sequence Diagram การสร้างแบบจำลองเชิงกิจกรรม (Dynamic Model หรือ Behavioral Model) ของ Problem Domain ซึ่งก็คือการจำลองกระบวนการที่ทำให้เกิดกิจกรรมของระบบ เกิดจากชุดของกิจกรรม ซึ่งกิจกรรมหนึ่งๆ นั้นเกิดจากการที่ Object หนึ่งโต้ตอบกับอีก Object หนึ่งนั่นเอง สามารถอธิบายการเกิดกิจกรรมของ Problem Domainได้ด้วย Class Diagram ดังรูป

  3. กิจกรรมของ Problem Domain 1..n ชุดของกิจกรรม 2..n ทำให้เกิด 2..2 0..1 Object กิจกรรม รูปClass Diagram แสดงกิจกรรมของ Problem Domain

  4. ในการทำ Object Oriented Analysis (OOA) จำเป็นต้องมีการจำลองกิจกรรมของ Problem Domain ด้วยเช่นเดียวกัน ซึ่งการจำลองกิจกรรมของ Problem Domain เรียกว่า Dynamic Model Dynamic Modelคือการจำลองกิจกรรมและลำดับของกิจกรรมที่เกิดขึ้นหรืออาจเกิดขึ้นใน Problem Domain ให้อยู่ในรูปที่สามารถเข้าใจได้โดยง่าย เช่น การจำลองโดยใช้คำ ประโยค หรือการจำลอง โดยการเขียนภาพตามลำดับเวลาและเหตุการณ์ (เช่น ในหนังสือการ์ตูน) เป็นต้น แต่สำหรับการบรรยายกิจกรรมที่เกิดขึ้นตามหลักการของ OOAD นั้น สิ่งที่เหมาะสมที่สุดสำหรับการนี้คือ Sequence Diagram Sequence Diagramเป็น Diagram ที่ประกอบไปด้วย Class หรือ Object เส้นที่ใช้เพื่อแสดงลำดับเวลา และเส้นที่ใช้เพื่อแสดงกิจกรรมที่เกิดขึ้นจาก Object หรือ Class ใน Diagram

  5. ภายในSequence Diagram จะใช้สี่เหลี่ยมแทน Class หรือ Object ซึ่งภายในกรอบสี่เหลี่ยมจะมีชื่อของ Object หรือ Class ประกอบอยู่ในรูปแบบ {Object}: Class กิจกรรมที่เกิดขึ้นจะแทนด้วยลูกศรแนวนอนที่ชี้จากClass หรือ Object หนึ่งไปยัง Class หรือ Object ตัวต่อไป การระบุชื่อกิจกรรมนั้นอยู่ในรูปแบบ {[Condition]} Functionชื่อของกิจกรรมจะต้องเป็น Function ที่มีอยู่ใน Class หรือ Object ที่ลูกศรชี้ไป เส้นแสดงเวลาจะแทนด้วยเส้นตรงประแนวตั้ง โดยเวลาจะเดินจากด้านบนมาสู่ด้านล่าง นั่นหมายถึง ถ้าหากกิจกรรมที่เกิดขึ้นเกิดอยู่ด้านบนสุดนั่นหมายถึงกิจกรรมนั้น เป็นกิจกรรมแรก และกิจกรรมที่อยู่บริเวณต่ำลงมาจะเป็นกิจกรรมที่เกิดขึ้นต่อจากนั้น เพื่อความเข้าใจมากยิ่งขึ้น ขอให้พิจารณาจากรูปต่อไปนี้

  6. :Clients :Console :Monitor :Printer PressKey(Key) [Key = M] Show() [Key = P] Print() รูป Sequence Diagram

  7. จาก Sequence Diagram ที่ผ่านมา อธิบายกิจกรรมที่เกิดขึ้นได้ดังนี้ เมื่อพิจารณาลูกศรบนสุดจะเห็นว่า กิจกรรมแรกที่เกิดขึ้นคือ ผู้ใช้งาน(Client) กดปุ่ม (PressKey)ซึ่งอยู่บนแป้นพิมพ์หรือ Consoleซึ่ง PressKeyจะต้องเป็น Function หนึ่งของ Console เมื่อพิจารณาลูกศรที่อยู่ถัดจากเส้นแรก จะเห็นว่าหลังจากนั้นก็มีการตรวจสอบด้วยเงื่อนไขว่า ถ้าหากKey ที่กด (ซึ่งเกิดจากกิจกรรมแรก) เป็น “M”ให้ Monitorแสดงผลลัพธ์ด้วย FunctionShowซึ่งเป็น Function ของ Monitor แต่ถ้า Key ที่กดเป็น “P” จึงให้พิมพ์ผลลัพธ์ออกทางPrinterด้วย FunctionPrintซึ่งเป็น Function ที่อยู่ใน Printer (ให้พิจารณาเส้นล่างสุด)

  8. จากรูป Sequence Diagram ที่แสดงให้เห็น เมื่อพิจารณาจะเห็นว่า Sequence Diagram จะมีบทบาทและมีประโยชน์ในการช่วยพิจารณาว่าใน Class Diagram ที่เราสร้างขึ้น มี Function ใดของ Class ใดขาดหายไป หรือควรเพิ่มเติมเข้ามาหรือไม่ เพียงใด ซึ่งมีส่วนช่วยให้ Class ต่างๆ ที่เราสร้างขึ้นใน Class Diagram มีความสมบูรณ์มากขึ้น ตัวอย่างเช่น ใน Sequence Diagram ถ้าหาก Monitor ไม่มี Function Show() มาก่อน ก็สามารถเพิ่มกิจกรรมนี้ (ซึ่งก็คือการเพิ่ม Function Show() นั่นเอง) เข้าไปใน Sequence Diagram ได้ในขณะเดียวกันก็จะต้องย้อนกลับไปเพิ่ม Function Show() ของ Class Monitor ใน Class Diagram ด้วยเช่นกัน

  9. 10.2 เทคนิคในการสร้าง Sequence Diagram จาก Use Case และ Class Diagram เราเคยได้เรียนรู้การสร้าง Use Case เพื่อจำลองภาพโดยรวมของระบบย่อยภายใน Problem Domain ซึ่งเรียกว่า Use Case และความสัมพันธ์ระหว่าง Use Case ต่างๆ มาแล้ว สิ่งที่จะต้องทำต่อไปก็คือ การแสดงกิจกรรมที่เกิดขึ้นภายใน Problem Domain ทั้งหมดนั้น จุดประสงค์เพื่ออธิบายกิจกรรมที่เกิดขึ้นทั้งหมดในทุกๆ Use Case ซึ่งสิ่งที่จะนำมาใช้ในการอธิบายกิจกรรมต่างๆ คือ Sequence Diagram นั่นเอง สามารถสรุปเทคนิคการสร้าง Sequence Diagram จาก Use Case Diagram และ Class Diagram เป็นรายการ ได้ดังนี้ 1. พิจารณาที่ละ Use Case โดยยังไม่ต้องคำนึงถึงความสัมพันธ์ที่แต่ละ Use Case มีต่อกัน

  10. 2. พิจารณาที่ละUse Case ว่ามี Class หรือ Object ใดร่วมทำให้เกิดกิจกรรมใน Use Case นั้นๆ บ้าง 3. นำเอาClass หรือ Object ต่างๆ มาเรียงต่อกันในแนวนอน (รูป Sequence Diagram) โดยให้นำ Actor (ในกรณีที่ Use Case นั้นมี Actor ด้วย) ไว้ที่ด้านซ้ายมือสุดเสมอ แล้วนำเอา Class หรือ Object ต่างๆ เรียงต่อกันจากซ้ายไปขวา (แล้วแต่ความเหมาะสม) 4. หากUse Case นั้นมี Actorโดยปกติแล้วกิจกรรมแรกที่ถูกเรียกมักจะเกิดจาก Actor ก่อนเสมอ ดังนั้นเมื่อเกิดกิจกรรมไปที่ Class หรือ Object ใด ให้ย้าย Class หรือ Object นั้นมาทางซ้าย ทำเช่นนี้เรื่อยๆ จนกระทั่งกิจกรรมทั้งหมดครบถ้วน

  11. 5. กรณีที่มีกิจกรรมเกิดขึ้นใหม่ แต่Function ที่เกิดขึ้นนั้นไม่มีใน Class หรือ Object ที่ลูกศรชี้ไป ให้เข้าไปเพิ่ม Function นั้นๆ ลงไปที่ Class นั้นใน Class Diagram 6. หากต้องมีการเพิ่ม Class ใหม่เข้าไปใน Sequence Diagram ต้องเข้าไปเพิ่มเติม Class นั้น และ Relationship ที่มีทั้งหมดใน Class Diagram ด้วย (แต่ Class ที่เพิ่มเข้าไปนั้น เป็น Class เพื่อจำลองกิจกรรมที่เกิดขึ้นจริงๆ ของระบบเท่านั้น ไม่ใช่ Class เพื่อการ Implement เช่น User Interface ต่างๆ) 7. ทำขั้นตอน 1-6 จนครบทุก Use Case

  12. 8. การสร้างความสัมพันธ์ของ Sequence Diagram จาก Use Case ที่มีการ Uses ทำได้โดยการนำ Class และกิจกรรมที่เกิดขึ้นใน Use Case ที่ถูก Use มาแทรกเข้าไปใน Use Case ที่เรียกใช้ และใช้กิจกรรมเพื่อเชื่อมโยง Sequence Diagram ทั้งสอง 9. การสร้างความสัมพันธ์ของ Sequence Diagram จาก Use Case ที่มีการ Extends ทำได้โดยนำ Class และกิจกรรมที่เกิดขึ้นใน Use Case ที่ Extend มาแทรกเข้าไปใน Use Case ที่ถูก Extend และ ใช้กิจกรรมเพื่อเชื่อมโยง Sequence Diagram ทั้งสอง

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

  14. จาก Class และ Use Case ที่มี สามารถสร้าง Sequence Diagram สำหรับ Use Case ต่างๆ ได้ดังนี้ • Sequence Diagram สำหรับ Use Case การขอดูยอดเงิน :ผู้ใช้เครื่อง :เครื่อง ATM :ปุ่มหมายเลข :หน้าจอ :บัญชีเงินฝาก สอดบัตร() กด(รหัส) [รหัสไม่ถูกต้อง] เตือน() [รหัสไม่ถูกต้อง] แสดงข้อความเตือน() [รหัสไม่ถูกต้อง] หยุดการทำรายการ() [รหัสถูกต้อง] ดำเนินการต่อ() แสดงMain Menu() กด (ขอดูยอดเงิน) ตรวจสอบยอดคงเหลือ() แสดงยอดคงเหลือ() รูปSequence Diagram ของการขอดูยอดเงินจากเครื่อง ATM

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

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

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

  18. Sequence Diagram สำหรับ Use Case การถอนเงิน :ผู้ใช้เครื่อง :เครื่องATM :ปุ่มหมายเลข :หน้าจอ :บัญชีเงินฝาก :เครื่องจ่ายเงิน :เครื่องพิมพ์ สอดบัตร() กด(รหัส) [รหัสไม่ถูกต้อง] เตือน() [รหัสไม่ถูกต้อง] แสดงข้อความเตือน() [รหัสไม่ถูกต้อง] หยุดการทำรายการ() [รหัสถูกต้อง] ดำเนินการต่อ() แสดง Main Menu() กด (จำนวนเงิน) ตรวจสอบยอดคงเหลือ(จำนวนเงิน) [จำนวนเงิน <= ยอดคงค้าง] จ่ายเงิน() พิมพ์ SLIP() [จำนวนเงิน > ยอดคงค้าง] แสดง Error Message() รูปSequence Diagram ของการถอนเงินด้วยเครื่อง ATM

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

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

  21. ตัวอย่างSequence Diagram ของการคุยโทรศัพท์ ในการคุยโทรศัพท์ Use Case ที่มีได้แก่ -การต่อโทรศัพท์ -การคุยโทรศัพท์ -การมีสายเรียกซ้อน (เป็น Use Case ที่ Extends การคุยโทรศัพท์) ในการคุยโทรศัพท์ Class ที่มีได้แก่ -ผู้ต่อโทรศัพท์ (Actor) -ผู้รับโทรศัพท์ (Actor) -เครื่องโทรศัพท์

  22. Sequence Diagram ของการต่อโทรศัพท์ :ผู้ต่อโทรศัพท์ โทรศัพท์ของผู้ต่อฯ :ผู้ต่อโทรศัพท์ โทรศัพท์ของผู้รับ :เครื่องโทรศัพท์ :ผู้รับโทรศัพท์ ยกหู() หมุนเบอร์โทร() สัญญาณดัง() [ไม่เกิน 30 วินาที] สัญญาณดัง() ยกหู() [ยกหูก่อน 30 วินาที] ต่อ (Connection) รูปSequence Diagram ของการต่อโทรศัพท์

  23. จากรูปเป็นภาพแสดงการต่อโทรศัพท์โดยเริ่มต้นเมื่อ ผู้โทรศัพท์ยกหูของเครื่องรับโทรศัพท์(ในเส้นกิจกรรมเส้นบนสุด) ต่อจากนั้นผู้ต่อโทรศัพท์จึงหมุนเบอร์เครื่องที่ต้องการติดต่อ เมื่อเสร็จสิ้นการหมุนเบอร์โทรฯ จะเกิดสัญญาณดังที่โทรศัพท์เครื่องปลายทาง โดยมีเงื่อนไขว่า สัญญาณจะดังอยู่นานเต็มที่เพียง 30 วินาที (ถ้าสังเกตจะเห็นว่าเส้นกิจกรรมในเส้นนี้จะวนจากโทรศัพท์ของผู้รับสู่ตนเอง ซึ่งมีเงื่อนไขว่าจะวนอยู่เช่นนี้นาน 30 วินาที หรือจนกว่าจะมีผู้รับสาย) หากมีผู้ยกหูที่เครื่องปลายทางก่อนหมดเวลา 30 วินาที เครื่องทั้งสองจะสามารถเชื่อมโยงถึงกันและเริ่มการสนทนาโทรศัพท์ได้ (ด้วยกิจกรรมต่อ(Connection)) Sequence Diagram ของการคุยโทรศัพท์และการมีสายเรียกซ้อน (เขียนไว้ใน Sequence Diagram เดียวกันเพราะ Use Case การมีสายเรียกซ้อน มีผลกระทบโดยตรงต่อ Use Case การคุยโทรศัพท์) ซึ่งแสดงด้วย Sequence Diagram ต่อไปนี้

  24. :ผู้ต่อโทรศัพท์ โทรศัพท์ของผู้ต่อฯ :เครื่องโทรศัพท์ โทรศัพท์ของผู้รับ :เครื่องโทรศัพท์ :ผู้รับโทรศัพท์ คุย() รับสัญญาณเสียง() คุย() รับสัญญาณเสียง() มีสายเรียกซ้อน() กดเปลี่ยนสาย() [มีการเปลี่ยนสาย] ตัด (Connection) [จบการสนทนา] ตัด (Connection) [จบการสนทนา] วางหู() [จบการสนทนา] วางหู() รูปSequence Diagram ของการคุยโทรศัพท์ และมีสายเรียกซ้อน

  25. จากรูปเป็น Sequence Diagram เพื่อแสดงกิจกรรมของ Use Case การคุยโทรศัพท์ และการมีสายเรียกซ้อน โดย Class และ Objectsที่มีส่วนร่วมใน Sequence Diagram นี้เป็นเช่นเดียวกันกับ Sequence Diagram ของการต่อโทรศัพท์ กิจกรรมเริ่มต้นขึ้นเมื่อ ผู้ต่อสายโทรศัพท์คุยไปยังเครื่องโทรศัพท์ต้นทาง จากนั้นเครื่องโทรศัพท์ต้นทางจึงสั่งให้เครื่องโทรศัพท์ปลายทางรับสัญญาณเสียงที่ส่งไป โดยสัญญาณเสียงนั้นจะออกไปทางหูโทรศัพท์ ต่อจากนั้นผู้รับโทรศัพท์คุยไปยังโทรศัพท์ปลายทาง หลังจากนั้นโทรศัพท์ปลายทางจะสั่งให้โทรศัพท์ต้นทางรับสายสัญญาณเสียงจากตน ซึ่งเหตุการณ์นี้จะเป็นเช่นนี้ไปจนกว่าจะจบการสนทนา หรือเกิดมีสายเรียกซ้อนขึ้น

  26. กิจกรรมที่อาจจะเกิดขึ้นใน Use Case มีสายเรียกซ้อน จะเริ่มเกิดขึ้นในเส้นกิจกรรมที่ 4 นับจาก เส้นบนสุด นั่นคือเมื่อเกิดมีสายเรียกซ้อนขึ้น ถ้าผู้โทรกดเปลี่ยนสาย Connection ที่เกิดขึ้นในตอนแรก สายนั้นจะถูกตัดออกไปเพื่อรับสายใหม่ที่เข้ามา ซึ่งในจุดนี้จะจบกิจกรรมที่อาจจะเกิดขึ้นใน Use Case มีสายเรียกซ้อน ต่อจากนั้นจะเป็นการอธิบายเหตุการณ์ในUse Case การคุยโทรศัพท์ (เริ่มต้นที่เส้นกิจกรรมที่ 3 นับจากท้าย) ซึ่งเริ่มต้นเมื่อเกิดเงื่อนไข จบการสนทนา ซึ่งเมื่อจบการสนทนาแล้ว Connection จะถูกตัดออกไป เมื่อวางหูโทรศัพท์ทั้ง 2 ฝ่ายลง

  27. ในบางกรณี ในการเขียนSequence Diagram เพื่อบรรยายลำดับกิจกรรมใน Problem Domain นั้น อาจมีกรณีที่มีการส่งข้อมูลกันระหว่าง Class หรือ Objects ก็ได้ ซึ่งในกรณีนี้สามารถเขียน Sequence Diagram โดยใช้สัญลักษณ์ลูกศรประแทนข้อมูลที่มีการส่งถึงกัน ดังรูปต่อไปนี้

  28. :Users :ATMScreen :SavingAccount AcquireBalance() Bal = GetBalance() Bal Show(Bal) รูป Sequence Diagram ของการถามยอดเงินคงเหลือจากเครื่อง ATM

  29. จากรูปเป็นตัวอย่างของการส่งข้อมูลในSequence Diagram ซึ่งกิจกรรมใน Sequence Diagram นี้เริ่มต้นที่ Users เลือก Function การเรียกดูยอดคงเหลือ (AcquireBalance())ที่ Class หน้าจอของ ATM (ATMScreen) ซึ่งต่อมา Function ที่ชื่อ GetBalance() ซึ่งอยู่ในบัญชีเงินฝาก (SavingAccount) จะถูกเรียกใช้งานเพื่อดึงค่ายอดคงเหลือออกมา หลังจากที่ได้ค่ายอดคงเหลือ (Bal) แล้ว ค่าที่ได้จะถูกส่งไปยัง ATMScreenโดยแสดงเป็นภาพลูกศรประ หลังจากนั้น ATMScreenจึงนำค่าที่ได้ Showแก่ Users ในที่สุด

More Related