2 แผนภ ม แสดงความส มพ นธ relation diagram

Use Case Diagram Use Case Diagram เปน็ แผนภาพท่ีใช้แสดงให้ทราบว่าระบบทางานหรือมีหน้าท่ีใดบ้าง โดย มีสัญลักษณ์รูปวงรีแทน Use Case และสัญลักษณ์รูปคน (Stick Man Icon) แทน Actor สาหรับชื่อ Use Case นั้น ให้ใช้คากริยาหรือกริยาวลี (คากริยามีกรรมมารองรับ) เช่น ลงทะเบียนเรียน, ตรวจสอบรายวิชา, บันทึกการชาระเงิน, Generate Report, Enter Sales Data, Compute Commission เป็นต้น ส่วนการมีปฏิสัมพันธ์ระหว่าง Use Case และ Actor จะใช้เส้นตรงลาก เชอ่ื มตอ่ กนั หรอื จะใชเ้ สน้ ตรงมหี วั ลกู ศรกไ็ ด้ ในทนี่ เ้ี ลอื กใชเ้ สน้ ตรงไม่มหี วั ลกู ศร สว่ นเสน้ แบ่งขอบเขต ระหว่าง Actor กับ Use Case จะใช้เส้นกรอบสี่เหล่ียม เรียกว่า “System Boundary” และสิ่ง สาคัญส่วนสุดท้ายก็คือ “ช่ือของระบบ (System Name)” ให้แสดงไว้ด้านบนสุดของแผนภาพ ตัวอยา่ งดงั รูปท่ี 1 Registration System Register Course Student Checkout Course Registration Staff Record Billing Financial Staff รูปที่ 1 แสดง Use Case Diagram ของระบบลงทะเบยี น นอกจากน้ี หากกล่าวถึง Use Case Diagram ในด้านการพัฒนาระบบ นอกเหนือจากการนามาใช้ เก็บรวบรวมความต้องการต่างๆ แล้ว Use Case Diagram ยังถูกนาไปใช้เป็นพ้ืนฐานเพื่อการสร้าง แผนภาพ (Diagram) ชนิดอ่ืนในขั้นตอนต่อๆ ไป และทีมงานยังสามารถใช้ Use Case Diagram เพื่อ ตดิ ตามผลการดาเนนิ งานไดอ้ ีกดว้ ย

สญั ลักษณแ์ ละความสมั พนั ธใ์ น Use Case Diagram สญั ลักษณท์ ่ีสาคัญของ Use Case Diagram มดี งั ตอ่ ไปนี้  Use Case คอื หนา้ ท่ีท่ีระบบตอ้ งกระทา ใช้สัญลักษณ์รูปวงรี พร้อมท้ังเขียนชื่อ Use Case ซึ่งต้อง ใชค้ ากริยาหรือกริยาวลกี ็ได้ Use Case Name รูปท่ี 2 แสดงสญั ลักษณ์ Use Case  Actor คือ ผู้เก่ียวข้องกับระบบ ซ่ึงรวมทั้ง Primary Actor และ Stakeholder Actor ที่เป็น มนุษย์ ในที่นี้จะใช้สัญลักษณ์รูปคน (Stick Man Icon) เหมือนกัน พร้อมท้ังเขียนชื่อ Actor ไว้ด้านล่างของสัญลักษณ์ด้วย แต่หากเป็น Actor ท่ีไม่ใช่มนุษย์ เช่น ระบบงาน อ่ืนที่อยู่นอกเหนือระบบที่เราสนใจ จะใช้รูปสี่เหลี่ยมแล้วเขียนคาว่า “<<actor>>” ไว้ ดา้ นบน ดังรูปที่ 3 Actor Name <<actor>> Actor Name Primary & Stakeholder Actor  Primary & Stakeholder Actor  รปู ท่ี 3 แสดงสัญลกั ษณ์ Actor

 System Boundary เส้นแบ่งขอบเขตระหว่างระบบกับผู้กระทาต่อระบบ (Use Case กับ Actor) ใช้รูป สี่เหล่ียมเปน็ สัญลักษณ์ พรอ้ มทง้ั เขยี นชื่อระบบไว้ดา้ นใน ดังรปู ที่ 4 System Name รปู ท่ี 4 แสดงสัญลกั ษณ์ System Boundary  Connection คือ เส้นที่ลากเช่ือมต่อระหว่าง Actor กับ Use Case ท่ีมีปฏิสัมพันธ์กัน ใช้เส้นตรงไม่มี หัวลูกศรเป็นสัญลักษณ์ของ Connection ส่วน Connection ที่ใช้เช่ือมต่อระหว่าง Use Case กับ Use Case กรณีที่ Use Case น้ันมีความสัมพันธ์ซ่ึงกันและกัน จะใช้ สัญลักษณ์เส้นตรงมีหัวลูกศร พร้อมทั้งเขียนช่ือความสัมพันธ์ไว้ตรงกลางเส้นด้วย โดย เขยี นไว้ภายในเครอ่ื งหมาย <<...>> ดังรปู ท่ี 5 <<relationship name>> Connection  Connection  Actor Use Case Use Case Use Case รปู ท่ี 5 แสดงสัญลกั ษณ์ Connection  Extend Relationship เป็นความสัมพันธ์แบบขยายหรือเพิ่ม เกิดข้ึนในกรณีท่ีบาง Use Case ดาเนินกิจกรรม ของตนเองไปตามปกติ แต่อาจจะมีเงื่อนไขหรือสิ่งกระตุ้นบางอย่างท่ีส่งผลให้กิจกรรม ตามปกตขิ อง Use Case นน้ั ถกู รบกวนจนเบี่ยงเบนไป ซ่ึงเราสามารถแสดงเง่ือนไขหรือ

สิ่งกระตุ้นเหล่าน้ันได้ในรูปของ “Use Case” และเรียกความสัมพันธ์ระหว่าง Use Case ในลกั ษณะนี้วา่ “Extend Relationship” โดยเรียก Use Case ท่ีถูกรบกวนหรือ Use Case ท่ีดาเนินงานตามปกติว่า “Base Use Case” และเรียก Use Case ท่ีทา หนา้ ท่ีรบกวนหรอื กระตุ้น Base Use Case วา่ “Extending Use Case” กล่าวโดยสรุป ก็คือ Use Case หน่ึงทาหน้าท่ีตามปกติ เม่ือเกิดเหตุการณ์ผิดปกติขึ้น จะต้องทาหน้าท่ีพิเศษเพิ่ม โดยหน้าท่ีพิเศษท่ีเพ่ิมข้ึนก็คือ “Extending Use Case” นัน่ เอง ดังนน้ั อาจกล่าวได้ว่า Use Case ที่เป็น Extending Use Case จะเกิดขึ้นเพียง บางครั้งเท่านั้น (ไม่ได้เกิดข้ึนทุกครั้งท่ีดาเนินกิจกรรมตาม Base Use Case) การวาด เส้น Connection เชื่อมระหว่าง Use Case ท้ังสอง ให้เร่ิมต้นลากเส้นตรงจาก Extending Use Case หนั ลูกศรช้ไี ปท่ี Base Use Case ดังรูปท่ี 6 «extends» Base Use Case Extending Use Case รปู ที่ 6 แสดงการวาดเสน้ Connection เชื่อมระหวา่ ง Extending Use Case กบั Base Use Case

แสดงตัวอยา่ ง Extend Relationship ของระบบลงทะเบียนไดด้ ังรปู ที่ 7 Registration System Register Course Student «extends» Checkout Course Registration Staff Register Regrade Record Billing Financial Staff รปู ท่ี 7 แสดง Use Case Diagram ทมี่ ีความสัมพนั ธแ์ บบ Extend Relationship จากรูปที่ 7 สังเกตที่ Use Case “Register Course” ซ่งึ เปน็ Base Use Case คือ ทาหน้าท่ี รบั ลงทะเบียนตามปกติ แต่เมือ่ มีเง่อื นไขหรือมเี หตุการณ์พิเศษเกดิ ขึ้น คือ “นักศึกษาบางคนอาจมีการ ลงทะเบียนเรียนซ้าเพ่ือปรับเกรดด้วย (Regrade)” จึงได้เพิ่ม Extending Use Case เพ่ือมารองรับ หนา้ ท่พี ิเศษดงั กลา่ ว นน่ั คือ “Register Regrade”  Include Relationship ความสัมพันธ์อีกรูปแบบหน่ึงของ Use Case Diagram ก็คือ ความสัมพันธ์แบบเรียกใช้ เกิดขึ้นในกรณีท่ี Use Case หนึ่งไปเรียกหรือดึงกิจกรรมของอีก Use Case หน่ึงมาใช้ เพ่ือให้กิจกรรมน้ันเกิดขึ้นจริงใน Use Case ของตนเอง หรือกล่าวให้ง่ายกว่านั้นคือ กิจกรรมใน Use Case หน่ึง อาจจะถูกผนวกเข้าไปรวมกับกิจกรรมของอีก Use Case หนึ่ง เราเรียกความสัมพันธ์ระหว่าง Use Case ในลักษณะน้ีว่า “Include Relationship” โดย Use Case ท่ีทาหน้าทีด่ ึงกจิ กรรมมาจาก Use Case อน่ื ๆ เรียกว่า “Base Use Case” ในขณะที่ Use Case ที่ถูกเรียก หรือถูกดึงกิจกรรมมาใช้ เรียกว่า

“Included Use Case” สามารถเขียนเส้น Connection ได้ในทิศทางตรงกันข้ามกับ Extend Relationship โดยเริ่มต้นลากเส้นตรงจาก Base Use Case หันลูกศรช้ีไปท่ี Included Use Case แลว้ เขยี นชื่อ Relationship “<<uses>>” (บางตาราจะใช้คาว่า <<include>>) ไว้ตรงกลางเส้นดว้ ย ดงั รปู ท่ี 8 Base Use Case «uses» Included Use Case รปู ที่ 8 แสดงการลากเส้น Connection ระหวา่ ง Base Use Case กับ Included Use Case ความสมั พันธ์ระหว่าง Use Case แบบ Include เป็นการสนบั สนนุ หลกั การนากลับมาใช้ใหม่ ของ Use Case (Use Case Reusability) กล่าวคือ Use Case หนึ่งสามารถถูก Include ได้โดย Base Use Case หลายๆ ตัว และสามารถถูก Include ได้มากกว่าหนึ่งครั้งด้วย เช่น ในการทางาน ชองระบบเอทีเอ็ม Use Case “การตรวจสอบผู้เข้าใช้ระบบ (Validate User)” สามารถเป็น Included Use Case ให้กับ Base Use Case หลายๆ ตัว ได้แก่ Base Use Case “การถอนเงิน (Withdraw Money)” และ Base Use Case “การโอนเงิน (Transfer Money)” ดังน้นั จากรูปที่ 7 เมื่อพิจารณาแล้ว Use Case “ตรวจสอบรายวิชา (Checkout Course)” สามารถถูกเรียกใช้จาก Use Case “ลงทะเบียนเรียน (Register Course)” ได้ ดังนั้น Use Case “Checkout Course” มีความสัมพันธ์กับ Use Case “Register Course” แบบ Include แสดง Use Case Diagram อกี คร้งั ดงั รูปที่ 9

Registration System Student Register Course «uses» «extends» Checkout Course Registration Staff Register Regrade Record Billing Financial Staff รูปที่ 9 แสดง Use Case Diagram ท่ีมี Included Relationship หมายเหตุ 1. ในบางตาราจะเรียกความสัมพันธ์แบบ Include ได้อีกอย่างหน่ึงว่า “Use Relationship” 2. ความแตกต่างระหว่างความสัมพันธ์แบบ Extend กับ Include คือ Extend จะ เป็น Use Case ที่ถูกเรียกใช้เฉพาะบางกรณีเท่านั้น แต่ Include จะถูกเรียกใช้ทุกคร้ังที่ Base Use Case มกี ารดาเนนิ กิจกรรม  Generalization/Specialization Relationship Generalization หรือ Specialization ที่เกิดขึ้นระหว่าง Use Case มีคุณสมบัติ แ ต ก ต่ า ง จ า ก Generalization/ Specialization ท่ี เ กิ ด ข้ึ น ร ะ ห ว่ า ง ค ล า ส คื อ ความสัมพันธ์ลักษณะดังกล่าวท่ีเกิดข้ึนใน Use Case น้ีจะไม่มีการถ่ายทอด คุณลักษณะ (ไม่มีการ Inherit) แต่จะใช้เพื่อแสดงความสัมพันธ์แบบจาแนก แยกแยะประเภทของ Use Case เท่านั้น อย่างไรก็ตาม Use Case ท่ีเป็น Use Case หลักในการจาแนกประเภทจะเรียกว่า “Parent Use Case” ส่วน Use Case ท่ีถูก จาแนกแยกแยะออกมา จะเรียกว่า “Child Use Case” ส่วนสัญลักษณ์เชื่อม

ความสัมพันธ์ ให้ใช้เส้นตรงลูกศรโปร่ง ลากจาก Child Use Case ให้ลูกศรช้ีไปท่ี Parent Use Case ดังรูปที่ 10 Parent Use Case Child Use Case รปู ท่ี 10 แสดงความสมั พนั ธร์ ะหวา่ ง Use Case แบบ Generalization / Specialization ตามที่กล่าวไปแล้วว่าเราจะใช้ Generalization / Specialization ในกรณีท่ีต้องการแสดง ความสัมพนั ธ์ในเชงิ การจาแนกแยกแยะประเภทของ Use Case เช่น การตรวจสอบความถูกต้องของ ผูใ้ ชง้ านระบบ (Validate user) สามารถกระทาไดห้ ลายวธิ ี ได้แก่ การตรวจสอบจากรหัสผ่าน (Verify Password) และการตรวจจากลายนิ้วมือ (Fingerprint Recognition) เป็นต้น แสดงความสัมพันธ์ได้ ดังรูปท่ี 11 Validate User Verify Password Fingerprint Recognition รูปท่ี 11 แสดงความสมั พนั ธะหวา่ ง Use Case แบบ Generalization / Specialization นอกจากเราจะใช้ความสัมพันธ์แบบ Generalization / Specialization กับ Use Case แล้ว เรายังสามารถใช้ความสัมพันธ์ลักษณะนี้กับ Actor ได้เช่นเดียวกัน ตัวอย่างเช่น เราสามารถใช้ UML อธิบายข้อเท็จจริง “คนคุมงาน (Worker Supervisor) จัดเป็นคนงานประเภทพิเศษที่มีหน้าท่ี พิเศษกว่าคนงาน (Worker) ทวั่ ไป” ไดด้ ังรปู ที่ 12

Worker Supervisor รูปท่ี 12 แสดงความสัมพนั ธ์แบบ Generalization / Specialization ระหวา่ ง Actor การสรา้ ง Use Case Diagram เร่ิมต้นการสร้าง Use Case Diagram ด้วยการวิเคราะห์หาขอบเขตของระบบ (Problem Domain) ซ่ึงประกอบไปด้วยการค้นหา Actor ท่ีควรมีในระบบ และ Use Case ท่ีมีปฏิสัมพันธ์ โดยตรงกับ Actor เหล่านั้นขึ้นมาก่อน จากนั้นจึงเพ่ิมเติม Use Case อ่ืนๆ เข้าไปจนครบหน้าที่การ ทางานของระบบ 1. ค้นหา Actor 2. คน้ หา Use Case ทม่ี ีปฏสิ ัมพนั ธ์กับ Actor นัน้ โดยตรง 3. ค้นหาและสร้างความสัมพันธร์ ะหวา่ ง Use Case หรอื Actor (ถ้ามี) แล้วเพ่ิมเติม Use Case ใหม่ซึ่งอาจเป็น Included Use Case, Extending Use Case ท่ีเพิ่มเติมจาก Base Use Case ทม่ี ีอยูแ่ ล้ว หรือจะเพมิ่ Base Use Case ใหม่ก็ได้ (ถ้าม)ี 4. ต้องไม่มี Actor ใดเลยท่ีไมม่ ีปฏิสัมพันธ์กับ Use Case 5. ต้องไม่มี Use Case ใดเลยท่ีไมม่ ปี ฏิสัมพนั ธก์ บั Actor 6. Use Case ทุกตัวต้องมีปฏิสัมพันธ์อย่างใดอย่างหน่ึงกับ Actor หรือ Use Case ตัวอื่นๆ เสมอ 7. เขียนคาอธิบายแต่ละ Use Case จนครบถว้ น

ขอ้ แนะนาในการสรา้ ง Use Case Diagram ปัญหาสาคัญที่เกิดขึ้นในระหว่างการสร้าง Use Case Diagram ก็คือ การท่ีนักวิเคราะห์ ระบบหรือทีมงานท่ีรับผิดชอบไม่สามารถระบุได้ชัดเจนว่าจะต้องแสดง Use Case ให้ละเอียดมาก น้อยเพียงใด จะต้องแสดง Use Case ใดบ้าง ไม่แสดง Use Case ใดบ้าง หรือต้องแสดง Use Case ท้ังหมดท่ีเป็นหน้าท่ีท่ีระบบต้องกระทา ทาให้บางคร้ังทีมงานต้องเสียเวลาไปกับกระบวนการสร้าง Use Case Diagram มากเกินความจาเป็น เนื่องจากสุดท้ายแล้ว Use Case Diagram ที่ได้มาก็ไม่ได้ ถูกนาไปใช้ในขน้ั ตอนตอ่ ไปของการพัฒนาระบบ หรอื หากถูกนาไปใช้เป็นพ้ืนฐานในการสร้างแผนภาพ ชนิดอ่ืนต่อไป ก็จะทาให้การดาเนินงานในข้ันตอนอ่ืนล่าช้าไปด้วย ดังนั้น ในที่นี้จึงมีข้อแนะนาบาง ประการที่จะทาให้ข้ันตอนการสร้าง Use Case Diagram เป็นขั้นตอนท่ีไม่ต้องใช้เวลามากจนเกินไป ดงั น้ี 1. Use Case Diagram ใช้เพ่ือแสดงให้เห็นถึงข้อมูลความต้องการของผู้ใช้ระบบเท่าน้ัน หรืออาจกล่าวได้ว่า Use Case Diagram ใช้เพ่ือเก็บรวบรวมข้อมูลความต้องการจาก ผใู้ ช้เท่าน้นั เน่อื งจากหาก Use Case Diagram ท่ีได้ในรอบแรกยังไม่สามารถครอบคลุม ความต้องการของผู้ใช้ ก็สามารถนามาปรับปรุงแก้ไขเพิ่มเติมได้จนกว่าจะครบถ้วน เม่ือ ครบถ้วนแล้ว น่ันหมายความว่า ทีมงานมีความเข้าใจกับข้อมูลความต้องการในระบบ ใหม่ขอผู้ใช้แล้ว จึงอาจนา Use Case Diagram ไปใช้เป็นพ้ืนฐานในการสร้างแผนภาพ ชนิดอื่นหรอื ไมก่ ็ได้ (ขน้ึ อย่กู บั ทีมงาน) 2. Use Case Diagram อาจมีความละเอียดมากหรือน้อยก็ได้ ข้ึนอยู่กับมุมมอง เทคนิค และประสบการณ์ของทีมงานหรือนักวิเคราะห์ระบบ จึงไม่มีข้อสรุปใดระบุได้ว่า Use Case Diagram ลกั ษณะใดถูกตอ้ ง หรือลักษณะใดไม่ถูกต้อง เนื่องจาก สุดท้ายแล้วไม่ว่า จะเป็น Use Case Diagram ลักษณะใดก็ตาม ย่อมส่งผลให้ทีมงานเกิดความเข้าใจใน ข้อมลู ความตอ้ งการระบบใหม่ของผู้ใช้ได้อยา่ งถูกต้องเชน่ เดียวกัน 3. ให้ตระหนักอยู่เสมอว่า Use Case Diagram น้ันใช้เพื่อการสื่อสารระหว่างนักวิเคราะห์ ระบบกับผู้ใช้ ไม่ได้ใช้ส่ือสารระหว่างนักวิเคราะห์ระบบกับโปรแกรมเมอร์ ดังน้ัน Use Case Diagram จึงควรทาให้ผู้ใช้เห็นภาพรวมของระบบในเชิงกว้างมากกว่าเชิงลึก (ใน เชงิ กว้าง คอื ในระดบั ทที่ ราบได้ว่าครอบคลุมความต้องการของผู้ใช้หรือไม่ ในเชิงลึก คือ

ในระดับรายละเอียดการทางานของระบบ) ซึ่งจะทาให้ผู้ใช้ทราบว่านักวิเคราะห์ระบบ เข้าใจความต้องการของตนเองได้อยา่ งครบถ้วนหรือไมน่ ่ันเอง 4. Use Case Diagram โดยส่วนใหญ่จะไม่แสดงให้เห็นถึงการทางานในระดับการจัดการ ข้อมูลในฐานข้อมูล เช่น การเพ่ิม ลบ แก้ไข หรือปรับปรุงข้อมูล เป็นต้น ทั้งน้ี เนื่องจาก โปรแกรมของระบบงานทุกระบบจะต้องมีหน้าท่ีในส่วนของการจัดการข้อมูลเป็นหน้าที่ พื้นฐานอยแู่ ล้ว ไม่จาเป็นต้องนามาแสดงให้เห็นใน Use Case Diagram ก็ได้ 5. จากข้อ 3 ส่ิงท่ีควรนามาแสดงใน Use Case Diagram ก็คือ หน้าท่ีหลักๆ หรือหน้าท่ีที่ เป็นจุดเด่นของระบบท่ีผู้ใช้งานต้องการให้ระบบกระทาได้อย่างแท้จริงเท่านั้น (เป็นการ สนับสนุนข้อความท่ีว่า “หน้าที่ในการเพ่ิม ลบ แก้ไข หรือปรับปรุงข้อมูลนั้นเป็นหน้าท่ี พน้ื ฐานทีท่ ุกระบบต้องมีอยู่แลว้ ”) 6. จากข้อ 4 คาวา่ “หน้าทหี่ ลกั หรือหน้าท่ที ่เี ป็นจดุ เดน่ ของระบบ” ในท่ีน้ีหมายถึง หน้าท่ีท่ี ระบบจะต้องกระทา (System Operate) ตามความต้องการของผู้ใช้ ไม่ใช่หน้าท่ีท่ีผู้ใช้ จะตอ้ งกระทา (Human Operate) อันเนื่องจากการทางานของระบบ การเขยี นคาอธบิ าย Use Case เช่นเดียวกับการวิเคราะห์ระบบแบบเดิมท่ีจะต้องมีการเขียนคาอธิบาย Context Diagram เพื่อให้ทราบรายละเอียดปลีกย่อยของแต่ละระบบย่อยด้วย สาหรับในแต่ละ Use Case ตามที่กล่าว ไปแล้วว่าประกอบไปด้วยการกระทาหลายๆ อย่างต่อเน่ืองกันเป็นลาดับข้ันตอน ดังน้ันการแสดง แผนภาพแทนความคิดของนักวิเคราะห์ระบบที่มีต่อระบบเพียงอย่างเดียวน้ันอาจไม่เพียงพอ จาเป็นต้องมีการเขียนอธิบายรายละเอียดควบคู่กันไปด้วย เรียกคาอธิบาย Use Case ดังกล่าวว่า “กระแสของเหตุการณ์ (Flow of Event)” การเขียนคาอธิบาย Use Case หรือ Flow of Event นั้น ปัจจุบันมีรูปแบบแตกต่างกัน ออกไป แต่ในท่ีน้ีจะเขียนคาอธิบายโดยมีส่วนประกอบ 2 ส่วนสาคัญ ได้แก่ Main Flow และ Exceptional Flow 1. Main Flow คือ ลาดับกิจกรรม เมื่อ Use Case ดาเนินกิจกรรมตามปกติ โดยการเขียนคาอธิบายใน ลักษณะเป็นยอ่ หน้า (Paragraph) และ Main Flow จะต้องมเี พียงหนึง่ เดียวเทา่ นัน้

2. Exceptional Flow คอื ลาดับกจิ กรรม เมือ่ Use Case ดาเนินกจิ กรรมผดิ จากปกติ โดยสามารถมีมากกว่า 1 Flow ได้ ท้ัง Main Flow และ Exceptional Flow จะต้องระบุถึงสาเหตุของการเร่ิมต้นและส้ินสุด กิจกรรมด้วยเสมอ นอกจากการระบุถึง Main Flow และ Exceptional Flow แล้ว เราสามารถ เพมิ่ เติมส่วนประกอบอ่ืนๆ ได้ตามความเหมาะสม โดยในที่นี้จะเพ่ิม Use Case Title, Use Case Id, Primary Actor และ Stakeholder Actor ดว้ ย ตัวอย่าง Use Case Diagram ของระบบลงทะเบยี น ระบบลงทะเบียนมีกลุ่มบุคคลท่ีเก่ียวข้อง 2 กลุ่ม ได้แก่ นักศึกษา และพนักงานของ มหาวิทยาลัย (เจ้าหน้าที่ฝ่ายทะเบียนและเจ้าหน้าที่ฝ่ายการเงิน) ในแต่ละเทอมจะต้องมีนักศึกษามา ลงทะเบยี นเรยี นของภาคเรียนปกติ โดยนักศึกษาจะต้องกรอกแบบฟอร์มลงทะเบียนให้เรียบร้อยแล้ว นาไปยน่ื กับเจา้ หนา้ ทฝ่ี ่ายทะเบยี นในวนั และเวลาท่ปี ระกาศไว้ เมอื่ เจา้ หน้าที่รับแบบฟอร์มลงทะเบียน มาแล้ว จะทาการตรวจสอบวิชาท่ีนักศึกษาได้ลงไว้ในแบบฟอร์มกับประวัติการเรียนว่าถูกต้องหรือไม่ เน่ืองจาก บางวิชาของแต่ละเทอมมีเง่ือนไขว่าจะลงทะเบียนได้ก็ต่อเมื่อสอบผ่านอีกวิชาหนึ่งมาก่อน เมือ่ ตรวจสอบพบว่าถูกต้องแล้ว เจ้าหน้าท่ีฝ่ายทะเบียนจะคานวณเงินค่าลงทะเบียนเรียน แล้วบันทึก ลงในฐานขอ้ มูล ส่งั พมิ พ์ใบรบั ลงทะเบียนโดยแบง่ ออกเปน็ 2 สว่ น ส่วนท่ี 1 นักศึกษาเก็บไว้เอง ส่วน ท่ี 2 นาไปชาระเงินโดยโอนผ่านทางธนาคาร แล้วนาใบรับชาระเงินกลับมาให้เจ้าหน้าท่ีฝ่ายการเงิน บนั ทกึ สถานะการชาระเงินเป็นขั้นตอนสุดท้าย

Student Registration System Register Course Registration Staff «uses» Checkout Course Record Billing Financial Staff รูปท่ี 13 แสดง Use Case Diagram ของระบบลงทะเบียนเรียน จากรูปที่ 13 เป็น Use Case Diagram ที่สร้างเสร็จเรียบร้อยแล้ว เราสามารถทราบได้ว่า ระบบลงทะเบียนจะต้องมีหน้าที่หลักๆ อยู่ 3 หน้าที่ ได้แก่ ลงทะเบียนเรียน ตรวจสอบรายวิชา และ บันทึกการชาระเงินค่าลงทะเบียน โดยผู้ที่มีหน้าที่ลงทะเบียนก็คือ “นักศึกษา” ส่วนผู้ท่ีมีหน้าที่รับ ลงทะเบียนก็คือ “เจ้าหน้าท่ีฝ่ายทะเบียน” และผู้ท่ีมีหน้าที่บันทึกการชาระเงินค่าลงทะเบียน ก็คือ “เจ้าหน้าท่ีฝา่ ยการเงนิ ” ซง่ึ ตา่ งกเ็ ปน็ พนกั งานของมหาวทิ ยาลยั เชน่ เดยี วกนั คาอธบิ าย Use Case ระบบลงทะเบยี น จากรายละเอียดของ “ระบบลงทะเบียน” และ Use Case Diagram ที่แสดงในรูปที่ 13 คาอธบิ ายของแตล่ ะ Use Case มดี งั นี้ Use Case Title : Register Course Use Case Id : 1 Primary Actor : Registration Staff Stakeholder Actor : Student Main Flow : ระบบลงทะเบียนมีกลุ่มบุคคลท่ีเก่ียวข้อง 2 กลุ่ม ได้แก่ นักศึกษา และพนักงานของ มหาวิทยาลัย (เจ้าหน้าที่ฝ่ายทะเบียนและเจ้าหน้าที่ฝ่ายการเงิน) ในแต่ละเทอมจะต้องมีนักศึกษามา ลงทะเบียนเรียนของภาคเรียนปกติ โดยนักศึกษาจะต้องกรอกแบบฟอร์มลงทะเบียนไม่เกิน 8 วิชา แล้วนาไปยื่นกับเจ้าหน้าที่ฝ่ายทะเบียนในวันและเวลาท่ีประกาศไว้ เม่ือเจ้าหน้าท่ีรับแบบฟอร์ม

ลงทะเบยี นมาแลว้ จะปอ้ นรหัสนักศกึ ษาเพ่ือทาการตรวจสอบวิชาท่ีนักศึกษาได้ลงไว้ในแบบฟอร์มกับ ประวัติการเรียนว่าถูกต้องหรือไม่ เน่ืองจาก บางวิชาของแต่ละเทอมมีเงื่อนไขว่าจะลงทะเบียนได้ก็ ต่อเมื่อสอบผา่ นอกี วิชาหน่งึ มาก่อน เมอื่ ตรวจสอบพบว่าถกู ต้องแล้ว เจ้าหน้าท่ีฝ่ายทะเบียนจะคานวณ เงนิ คา่ ลงทะเบียนเรียน จากนน้ั บนั ทึกลงในฐานข้อมูล ระบบแสดงข้อความบันทึกข้อมูลเรียบร้อยแล้ว ส่ังพิมพใ์ บรบั ลงทะเบยี นโดยแบ่งออกเป็น 2 ส่วน ส่วนที่ 1 นักศึกษาเก็บไว้เอง ส่วนท่ี 2 นาไปชาระ เงินโดยโอนผ่านทางธนาคาร Exceptional Flow ท่ี 1 : กรณีที่เจ้าหน้าท่ีฝ่ายทะเบียนป้อนรหัสนักศึกษาผิดพลาด ระบบจะแสดงข้อความแจ้งเตือน “ไม่พบข้อมูลนักศึกษา” เพื่อให้เจ้าหน้าท่ีทราบว่ามีข้อผิดพลาดเกิดขึ้น และให้เจ้าหน้าท่ีป้อนรหัส นักศึกษาใหมอ่ กี ครงั้ Exceptional Flow ที่ 2 : กรณีที่เจ้าหน้าท่ีป้อนข้อมูลสาคัญไม่ครบถ้วน ระบบจะไม่สามารถบันทึกรายการลงทะเบียน เรียนได้ ดังน้ันระบบจะมีข้อความแจ้งเตือน “ป้อนข้อมูลสาคัญไม่ครบถ้วน กรุณากลับไปป้อนข้อมูล ใหค้ รบ” ใหเ้ จา้ หนา้ ทีป่ ้อนขอ้ มลู สาคญั ใหค้ รบถว้ นระบบจงึ จะสามารถบนั ทกึ ขอ้ มลู ได้ Use Case Title : Checkout Course Use Case Id : 2 Primary Actor : Registration Staff Stakeholder Actor : - Main Flow : การตรวจสอบรายวชิ า หลงั จากเจา้ หน้าที่ไดร้ บั แบบฟอร์มลงทะเบยี น และป้อนรหัสนักศึกษา ได้อย่างถูกต้องแล้ว เจ้าหน้าที่ต้องป้อนรายวิชาที่นักศึกษาลงทะเบียน จากน้ันระบบจะนารหัสวิชาที่ ได้รับมาตรวจสอบรายวิชาท่ีต้องผ่านมาก่อน โดยเม่ือทราบรายวิชาท่ีต้องผ่านมาก่อนของวิชาที่ นักศึกษาลงทะเบียนแล้ว ระบบจะเปรียบเทียบกับรายวิชาท่ีนักศึกษาเคยเรียนผ่านมาท้ังหมด เมื่อ ระบบตรวจสอบพบว่ารายวิชาที่นักศึกษาลงทะเบียนนั้นถูกต้อง ระบบจึงทาการคานวณเงิน ค่าลงทะเบยี นเปน็ ลาดบั ตอ่ ไป Exceptional Flow ท่ี 1 : กรณีการตรวจสอบรายวิชาที่ลงทะเบียนไม่ถูกตอ้ ง เจ้าหนา้ ท่ีแจ้งนักศึกษาว่ามีบางรายวิชายัง ไม่สามารถลงทะเบียนได้เน่ืองจากยังไม่ผ่านบางรายวิชามาก่อน ให้นักศึกษากลับไปแก้ไขแล้วนาใบ ลงทะเบียนมาย่ืนทฝ่ี ่ายทะเบยี นอีกครงั้ ภายในระยะเวลาทกี่ าหนด

Use Case Title : Record Billing Use Case Id : 3 Primary Actor : Financial Staff Stakeholder Actor : Student Main Flow : เจา้ หน้าท่ีฝา่ ยการเงินรบั สาเนาใบรับชาระเงินค่าลงทะเบียนจากนักศึกษา ป้อนรหัสนักศึกษา เพอื่ ใหร้ ะบบแสดงขอ้ มลู การลงทะเบียน ตรวจสอบจานวนเงินถูกต้องตรงกัน แล้วทาการบันทึกข้อมูล การชาระเงินและสถานการณ์ชาระเงิน ระบบแสดงขอ้ ความยืนยันการบนั ทกึ ข้อมูลเรยี บรอ้ ยแล้ว Exceptional Flow ที่ 1 : กรณีเจ้าหน้าที่ป้อนรหัสนักศึกษาผิดพลาด ระบบจะแสดงข้อความแจ้งเตือน “ไม่พบข้อมูล นักศึกษา” เพ่ือให้เจ้าหน้าที่ทราบว่ามีข้อผิดพลาดเกิดข้ึน และให้เจ้าหน้าท่ีป้อนรหัสนักศึกษาใหม่อีก ครัง้ Exceptional Flow ที่ 2 : กรณีจานวนเงินท่ีนักศึกษาชาระไม่ตรงกับข้อมูลท่ีแสดงบนหน้าจอคอมพิวเตอร์ เจ้าหน้าท่ี จะต้องสอบถามนักศึกษา และแจ้งวันที่ชาระเงินงวดต่อไปให้นักศึกษาทราบ จากนั้นเจ้าหน้าท่ีบันทึก ข้อมลู การชาระเงินและสถานะการชาระเงิน ระบบแสดงขอ้ ความยนื ยนั การบันทกึ ขอ้ มลู เรียบรอ้ ยแล้ว Exceptional Flow ที่ 3 : กรณีท่ีระบบไม่สามารถบันทึกข้อมูลได้ เนื่องจาก เจ้าหน้าท่ีฝ่ายการเงินป้อนข้อมูลการชาระ เงินไม่ครบถ้วน ใหเ้ จ้าหนา้ ที่ป้อนข้อมลู สาคญั ใหค้ รบถ้วน แล้วบันทึกขอ้ มลู อีกครง้ั