รายงาน เรอ่ื ง Use Case Diagram จดั ทาํ โดย นายชนาวีร เพช็ รนารถ เลขท่ี 1 ปวส 1.1 นายฐติ วิ ฒุ ิ โมจนยรรยง เลขท่ี 2 ปวส 1.1 นางสาวปรษิ ฐา สอนผงึ้ เลขที่ 5 ปวส 1.1 เสนอ อาจารยพ วงมาลยั จันทรเสนา รายงานฉบบั นเ้ี ปนสว นหนง่ึ ของการเรียนวิชาการวเิ คราะหและออกแบบเชิงวตั ถุ รหัสวิชา 30901-2002 ภาคเรยี นท่ี 2 ปก ารศึกษาท่ี 2563 ระดบั ชั้นประกาศนียบัตรวิชาชพี ชนั้ สูง (ปวส.) สาขาเทคโนโลยีสารสนเทศ วิทยาลัยอาชวี ศกึ ษาพษิ ณโุ ลก
สารบญั ข เรือ่ ง หน้า คานา ก สารบญั ข Use Case Diagram 1 1.สัญลักษณความสัมพนั ธ 2 2.การสราง Use Case Diagram 8 3.ขอแนะนาในการสราง Use Case Diagram 9 4.การเขยี นคาอธบิ าย Use Case 11 5.ตัวอยาง Use Case Diagram ของระบบลงทะเบยี น 12 บรรณนานกุ รม ค
ก คาํ นํา รายงานฉบับน้ีเปนสวนหน่ึงของการเรียนวิชาการวิเคราะหและออกแบบเชิงวัตถุ รหัส 30901-2002 ระดับช้ันประกาศนียบัตรวิชาชีพช้ันสูง (ปวส.) สาขาเทคโนโลยี สารสนเทศ โดยมีจุดประสงคเพ่ือรวบรวมขอมูล ความหมายของ Use Case Diagram สญั ลกั ษณและความสัมพันธ การสราง ประโยชน และตัวอยา ง ในการจัดทํารายงานฉบบั นี้ผูจัดทําตองขอขอบคณุ อาจารยพ วงมาลยั จันทรเสนา ที่ใหขอมูลตลอดจนความรูท้ังหมด ไดมารวบรวมเปนรูปเลมรายงานน้ี หวังวาความรู ตางๆ ทอ่ี ยูในรายงานฉบบั น้ี จะเปนประโยชนต อผไู ดอ าน และผูทีเ่ รยี นวชิ าวเิ คราะหและ ออกแบบเชงิ วัตถุตอไป นายชนาวีร เพ็ชรนารถ นายฐิติวุฒิ โมจนยรรยง นางสาวปริษฐา สอนผง้ึ ปวส.1.1 แผนกเทคโนโลยสี ารสนเทศ
1 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 รูปท่ี 1 แสดง Use Case Diagram ของระบบลงทะเบียน นอกจากนี้ หากกลา วถงึ Use Case Diagram ในดานการพฒั นาระบบ นอกเหนือจากการนามา ใชเ กบ็ รวบรวมความตอ งการตา งๆ แลว Use Case Diagram ยงั ถกู นาไปใชเปน พ้ืนฐานเพอื่ การสรางแผนภาพ (Diagram) ชนิดอ่ืนในข้นั ตอนตอๆ ไป และทมี งานยงั สามารถใช Use Case Diagram เพื่อติดตามผลการดา เนินงานไดอ ีกดวย
2 1.สัญลกั ษณค วามสมั พนั ธ สญั ลกั ษณท ่สี ําคญั ของ Use Case Diagram มีดงั ตอไปนี้ Use Case คอื หนา ที่ท่ีระบบตอ งกระทา ใชส ัญลกั ษณร ปู วงรี พรอ มทัง้ เขยี นช่อื Use Case ซึง่ ตองใชคาํ กรยิ า หรือกรยิ าวลีกไ็ ด รูปที่ 2 แสดงสญั ลักษณ Use Case Actor คอื ผเู กี่ยวของกบั ระบบ ซ่ึงรวมท้ัง Primary Actor และ Stakeholder Actor ท่เี ปนมนษุ ย ในท่นี จ้ี ะ ใชส ัญลักษณรปู คน (Stick Man Icon) เหมือนกัน พรอ มทงั้ เขยี นชือ่ Actor ไวด านลา งของสัญลกั ษณดว ย แต หากเปน Actor ท่ไี มใชม นษุ ย เชน ระบบงานอ่นื ท่ีอยูนอกเหนือระบบที่เราสนใจ จะใชรปู ส่ีเหลย่ี มแลว เขียนคา วา “<<actor>>” ไวดา นบน ดงั รูปท่ี 3 รูปที่ 3 แสดงสัญลักษณ Actor System Boundary เสน แบง ขอบเขตระหวางระบบกบั ผูกระทาตอ ระบบ (Use Case กบั Actor) ใชรปู ส่ีเหลยี่ มเปน สญั ลักษณ พรอมทงั้ เขยี นช่อื ระบบไวด านใน ดงั รูปที่ 4 รปู ที่ 4 แสดงสญั ลกั ษณ System Boundary
3 Connection คอื เสนที่ลากเชื่อมตอ ระหวา ง Actor กับ Use Case ทีม่ ีปฏสิ ัมพันธก ัน ใชเสนตรงไมม ีหวั ลกู ศร เปนสัญลกั ษณข อง Connection สวน Connection ที่ใชเ ชื่อมตอ ระหวาง Use Case กบั Use Case กรณีท่ี Use Case นน้ั มีความสมั พนั ธซ ึ่งกนั และกัน จะใชสญั ลกั ษณเสน ตรงมีหวั ลูกศร พรอมทง้ั เขยี นช่ือความสัมพนั ธ ไวต รงกลางเสนดวย โดยเขียนไวภายในเครือ่ งหมาย <<...>> ดงั รปู ที่ 5 รูปที่ 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 รปู ที่ 6 แสดงการวาดเสน Connection เชื่อมระหวาง Extending Use Case กบั Base Use Case
4 แสดงตัวอยาง Extend Relationship ของระบบลงทะเบียนไดดังรปู ที่ 7 รปู ท่ี 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
5 รูปท่ี 8 แสดงการลากเสน Connection ระหวาง Base Use Case กับ Included Use Case ความสมั พนั ธระหวา ง Use Case แบบ Include เปนการสนบั สนุนหลักการนากลับมาใชใหมของ Use Case (Use Case Reusability) กลา วคอื Use Case หนึง่ สามารถถูก Include ไดโ ดย Base UseCase หลายๆ ตัว และสามารถถกู 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 รปู ท่ี 9 แสดง Use Case Diagram ท่มี ี Included Relationship
6 หมายเหตุ 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 รปู ที่ 10 แสดงความสมั พนั ธร ะหวา ง Use Case แบบ Generalization / Specialization ตามที่กลา วไปแลว วาเราจะใช Generalization / Specialization ในกรณีทีต่ อ งการแสดง ความสมั พันธในเชงิ การจาแนกแยกแยะประเภทของ Use Case เชน การตรวจสอบความถูกตอ งของผูใชงาน ระบบ (Validate user) สามารถกระทาไดห ลายวธิ ี ไดแ ก การตรวจสอบจากรหัสผาน (Verify Password) และการตรวจจากลายนิ้วมือ (Fingerprint Recognition) เปนตน แสดงความสัมพันธไดดงั รปู ที่ 11 รูปที่ 11 แสดงความสัมพนั ธร ะหวา ง Use Case แบบ Generalization / Specialization
7 นอกจากเราจะใชค วามสัมพันธแบบ Generalization / Specialization กับ Use Case แลว เรายังสามารถใชความสัมพันธล ักษณะนีก้ บั Actor ไดเชนเดยี วกัน ตัวอยางเชน เราสามารถใช UML อธบิ าย ขอเท็จจรงิ “คนคุมงาน (Worker Supervisor) จัดเปนคนงานประเภทพิเศษท่ีมีหนา ทพี่ ิเศษกวาคนงาน (Worker) ท่วั ไป” ไดดงั รปู ท่ี 12 รปู ท่ี 12 แสดงความสัมพันธแ บบ Generalization / Specialization ระหวา ง Actor
8 2.การสราง 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 จนครบถว น
9 3.ขอแนะนาํ ในการสราง 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 กค็ อื หนาทห่ี ลกั ๆ หรอื หนาทที่ ่เี ปน จดุ เดน ของระบบที่ผูใ ชงานตองการใหร ะบบกระทาไดอ ยางแทจริงเทา นั้น (เปน การสนบั สนุนขอความทวี่ า “หนาทใ่ี นการเพิม่ ลบ แกไข หรอื ปรับปรุงขอมลู นั้นเปน หนา ที่พ้นื ฐานท่ีทกุ ระบบตอ งมอี ยแู ลว ”)
10 6. จากขอ 4 คําวา “หนา ท่ีหลกั หรอื หนาทที่ ่ีเปน จดุ เดน ของระบบ” ในทีน่ ห้ี มายถงึ หนา ที่ท่รี ะบบ จะตอ งกระทาํ (System Operate) ตามความตอ งการของผูใ ช ไมใชห นา ทท่ี ่ีผใู ชจะตอ งกระทํา (Human Operate) อนั เนื่องจากการทํางานของระบบ
11 4.การเขียนคาํ อธิบาย 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 ดวย
12 5.ตวั อยา ง Use Case Diagram ของระบบลงทะเบยี น ระบบลงทะเบียนมกี ลมุ บคุ คลท่เี ก่ียวขอ ง 2 กลมุ ไดแ ก นักศกึ ษา และพนักงานของมหาวทิ ยาลยั (เจา หนาท่ฝี ายทะเบียนและเจา หนาที่ฝายการเงนิ ) ในแตละเทอมจะตองมีนกั ศกึ ษามาลงทะเบียนเรยี นของ ภาคเรียนปกติ โดยนักศึกษาจะตอ งกรอกแบบฟอรม ลงทะเบียนใหเรยี บรอยแลว นาไปยืน่ กบั เจาหนา ทฝี่ าย ทะเบยี นในวันและเวลาทีป่ ระกาศไว เมือ่ เจา หนาท่ีรบั แบบฟอรมลงทะเบียนมาแลว จะทาการตรวจสอบวชิ าท่ี นักศกึ ษาไดล งไวใ นแบบฟอรม กบั ประวตั ิการเรียนวาถกู ตองหรอื ไม เนือ่ งจาก บางวิชาของแตละเทอมมเี งื่อนไข วาจะลงทะเบียนไดก ็ตอเมื่อสอบผานอกี วชิ าหนงึ่ มากอ น เม่ือตรวจสอบพบวาถูกตอ งแลว เจา หนาที่ฝา ย ทะเบียนจะคาํ นวณเงนิ คาลงทะเบยี นเรยี น แลวบันทกึ ลงในฐานขอ มูล สง่ั พมิ พใ บรับลงทะเบียนโดยแบง ออกเปน 2 สว น สวนที่ 1 นกั ศึกษาเกบ็ ไวเอง สวนท่ี 2 นาํ ไปชาระเงินโดยโอนผา นทางธนาคาร แลวนําใบรับ ชําระเงนิ กลับมาใหเจา หนาท่ฝี า ยการเงนิ บันทกึ สถานะการชาํ ระเงินเปนขัน้ ตอนสดุ ทาย รูปท่ี 13 แสดง Use Case Diagram ของระบบลงทะเบยี นเรียน จากรปู ที่ 13 เปน Use Case Diagram ที่สรา งเสรจ็ เรยี บรอ ยแลว เราสามารถทราบไดว าระบบ ลงทะเบยี นจะตองมีหนา ที่หลักๆ อยู 3 หนา ที่ ไดแก ลงทะเบียนเรยี น ตรวจสอบรายวิชา และบันทึกการชาระ เงินคา ลงทะเบียน โดยผทู ่ีมีหนาทลี่ งทะเบยี นก็คอื “นกั ศกึ ษา” สวนผทู ม่ี หี นาทร่ี บั ลงทะเบยี นกค็ ือ “เจาหนาที่ ฝายทะเบียน” และผทู ม่ี หี นา ทีบ่ ันทึกการชาระเงนิ คาลงทะเบียน ก็คือ“เจาหนา ท่ีฝายการเงิน” ซึง่ ตา งกเ็ ปน พนกั งานของมหาวทิ ยาลยั เชนเดียวกนั คาํ อธิบาย Use Case ระบบลงทะเบียน จากรายละเอยี ดของ “ระบบลงทะเบยี น” และ Use Case Diagram ทแี่ สดงในรูปท่ี 13 คาํ อธบิ ายของแตละ Use Case มีดังนี้
13 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 : การตรวจสอบรายวิชา หลังจากเจาหนาท่ไี ดรบั แบบฟอรม ลงทะเบยี น และปอนรหัสนกั ศกึ ษาไดอ ยา งถูกตอ ง แลว เจา หนาทตี่ อ งปอนรายวิชาทน่ี กั ศกึ ษาลงทะเบยี น จากนัน้ ระบบจะนารหัสวชิ าทไ่ี ดรบั มาตรวจสอบ รายวิชาท่ีตอ งผา นมากอน โดยเมื่อทราบรายวชิ าทีต่ องผานมากอ นของวิชาท่ีนักศึกษาลงทะเบียนแลว ระบบ
14 จะเปรยี บเทียบกับรายวิชาท่ีนักศึกษาเคยเรียนผานมาทั้งหมด เมื่อระบบตรวจสอบพบวารายวิชาท่ีนกั ศึกษา ลงทะเบยี นนนั้ ถูกตอ ง ระบบจึงทําการคํานวณเงินคาลงทะเบยี นเปน ลาํ ดบั ตอ ไป 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 : กรณีท่ีระบบไมส ามารถบันทกึ ขอมูลได เนอ่ื งจาก เจา หนาทฝี่ ายการเงินปอ นขอมูลการชาระเงินไมค รบถวน ให เจา หนาท่ปี อ นขอ มูลสําคญั ใหค รบถวน แลวบนั ทกึ ขอมูลอกี คร้ัง
ค บรรณนานุกรม 1.https://sites.google.com/site/itentertainer/use-case-diagram/saylaksn- khwam-samphanth 2.https://sites.google.com/site/itinfinityprj/project 3. https://www.glurgeek.com/education/use-case-diagram-2/
Search
Read the Text Version
- 1 - 18
Pages: