Use Case Diagram
2 Use Case Diagram Use Case Diagram เปนแผนภาพทีใ่ ชแ สดงใหท ราบวา ระบบทาํ งานหรือมหี นาท่ใี ดบา ง โดยมีสญั ลกั ษณรูปวงรีแทน Use Case และสญั ลกั ษณร ูปคน (Stick Man Icon) แทน Actor สว นการมปี ฏสิ มั พนั ธระหวา ง Use Case และ Actor จะใชเ สน ตรงลาก เช่ือมตอกัน หรือจะใชเสน ตรงมหี วั ลูกศรก็ได
3 ในท่นี เี้ ลอื กใชเ สนตรงไมม หี วั ลกู ศร สว นเสน แบงขอบเขตระหวา ง Actor กับ Use Case จะ ใชเสนกรอบสีเ่ หล่ยี ม เรียกวา “System Boundary” และส่ิงสาคัญสว นสุดทายกค็ อื “ชอื่ ของระบบ (System Name)” ใหแ สดงไวด านบนสดุ ของแผนภาพ
4 1. สัญลักษณค วามสมั พนั ธ
5 Use Case คอื หนาท่ีทร่ี ะบบตองกระทา ใชส ัญลกั ษณรปู วงรี พรอมท้งั เขียนชอ่ื Use Case ซ่งึ ตองใชคาํ กริยาหรอื กริยาวลีก็ได
6 Actor คือ ผเู กี่ยวของกับระบบ ซงึ่ รวมทง้ั Primary Actor และ Stakeholder Actor ที่เปนมนุษย ในท่ีน้ี จะใชสัญลกั ษณรูปคน (Stick Man Icon) พรอ มท้ังเขียนช่อื Actor ไวด านลา งของสัญลักษณด ว ย แตหาก เปน Actor ท่ไี มใ ชมนษุ ย จะใชรปู สี่เหล่ยี มแลว เขยี นคาวา “<<actor>>” ไวดานบน
7 System Boundary เสนแบง ขอบเขตระหวางระบบกับผูกระทาตอระบบ (Use Case กบั Actor) ใชรูปสเี่ หลีย่ มเปน สัญลกั ษณ พรอมท้งั เขียนชอ่ื ระบบไวดา นใน
8 Connection คือ เสนทลี่ ากเชอื่ มตอ ระหวา ง Actor กบั Use Case ท่มี ปี ฏสิ มั พันธกัน ใชเ สน ตรงไมม ีหัวลูกศรเปน สัญลกั ษณของ Connection สวน Connection ที่ใชเ ชื่อมตอ ระหวาง Use Case กบั Use Case กรณีท่ี Use Case น้ันมีความสมั พันธซ ึ่งกนั และกนั จะใชสญั ลกั ษณเ สนตรงมหี ัวลกู ศร พรอมทัง้ เขยี นชือ่ ความสัมพนั ธไวต รง กลางเสนดว ย โดยเขียนไวภายในเคร่อื งหมาย <<...>>
9 Extend Relationship เปน ความสัมพนั ธแ บบขยายหรือเพ่มิ เกดิ ข้ึนใน การวาดเสน Connection เช่อื มระหวาง Use Case ทง้ั สอง กรณที บ่ี าง Use Case ดําเนินกิจกรรมของตนเองไปตามปกติ แตอ าจจะ ใหเรม่ิ ตน ลากเสนตรงจาก Extending Use Case หนั ลูกศรชี้ มีเงื่อนไขหรอื สิ่งกระตนุ บางอยา งที่สงผลใหก ิจกรรมตามปกติของ Use ไปที่ Base Use Case Case น้นั ถูกรบกวนจนเบีย่ งเบนไป โดยเรียก Use Case ทถ่ี กู รบกวน หรอื Use Case ทีด่ าํ เนินงานตามปกตวิ า “Base Use Case” และเรียก Use Case ท่ีทําหนาท่ีรบกวนหรือกระตุน Base Use Case วา “Extending Use Case”
10 สังเกตที่ Use Case “Register Course” ซ่ึงเปน Base Use Case คือ ทาหนา ที่รับลงทะเบยี นตามปกติ แตเมือ่ มีเงอ่ื นไขหรือมีเหตกุ ารณพเิ ศษเกดิ ขน้ึ คือ “นกั ศึกษาบางคนอาจมีการลงทะเบียนเรยี นซา เพื่อปรบั เกรดดว ย (Regrade)” จงึ ไดเ พิม่ Extending Use Case เพอื่ มารองรับหนาท่ีพเิ ศษดังกลาว นัน่ คอื “Register Regrade”
11 Include Relationship ความสัมพันธอีกรูปแบบหน่ึงของ Use Case Diagram ก็คอื ความสมั พันธแบบเรียกใชเกดิ ขน้ึ ในกรณที ี่ Use Case หน่ึงไปเรยี กหรือดงึ กจิ กรรมของอีก Use Case หนึง่ มาใชเพื่อใหกิจกรรมนนั้ เกดิ ขน้ึ จรงิ ใน Use Case ของตนเอง โดย Use Case ทีท่ าหนาทด่ี งึ กิจกรรมมาจาก Use Case อ่นื ๆ เรียกวา “Base Use Case” ในขณะที่ Use Case ทถี่ กู เรียก หรอื ถกู ดงึ กจิ กรรมมาใช เรยี กวา“Included Use Case” สามารถเขยี นเสน Connection ไดใ นทิศทางตรงกันขา มกบั Extend Relationship โดยเร่มิ ตน ลากเสน ตรงจาก Base Use Case หนั ลกู ศรช้ีไปท่ี Included Use Case แลวเขยี นชือ่ Relationship “<<uses>>” (บางตาราจะใชคําวา <<include>>) ไวต รงกลางเสน ดวย
12 ความสมั พนั ธร ะหวาง Use Case แบบ Include เปนการสนับสนุนหลกั การนากลับมาใชใหมข อง Use Case (Use Case Reusability) กลาวคือ Use Case หนง่ึ สามารถถูก Include ไดโดย Base Use Case หลายๆ ตวั และสามารถถกู Include ไดม าก กวา หนึ่งครั้งดวย
13 Generalization หรอื Specialization ทเ่ี กิดขนึ้ ระหวาง Use Case มคี ณุ สมบัติแตกตา งจาก Generalization/ Specialization ท่ีเกดิ ขึ้นระหวา งคลาสคอื ความสมั พันธลกั ษณะดงั กลาวทเี่ กดิ ขนึ้ ใน Use Case น้จี ะไมมีการถา ยทอด คุณลักษณะ (ไมม กี าร Inherit) แตจ ะใชเพ่อื แสดงความสมั พนั ธแบบจาแนกแยกแยะประเภทของ Use Case เทา นน้ั Use Case หลักในการจาํ แนกประเภทจะเรยี กวา “Parent Use Case” สว น Use Case ทถี่ ูกจาํ แนกแยกแยะออกมา จะเรยี ก วา “Child Use Case” สวนสัญลกั ษณเ ชื่อมความสัมพันธ ใหใ ชเ สนตรงลูกศรโปรง ลากจาก Child Use Case ใหลูกศรชี้ไปที่ Parent Use Case
14 ตามท่กี ลา วไปแลววา เราจะใช Generalization / Specialization ในกรณที ี่ ตองการแสดงความสัมพนั ธใ นเชงิ การจาแนกแยกแยะประเภทของ Use Case
15 นอกจากเราจะใชค วามสมั พนั ธแ บบ Generalization / Specialization กับ Use Case แลว เรายงั สามารถ ใชค วามสัมพนั ธลักษณะนก้ี ับ Actor ไดเชนเดยี วกนั ตวั อยา งเชน เราสามารถใช UML อธิบายขอ เท็จจรงิ “คนคมุ งาน (Worker Supervisor) จดั เปน คนงาน ประเภทพิเศษทีม่ ีหนา ทีพ่ เิ ศษกวา คนงาน (Worker) ทัว่ ไป” ได
16 2. การสรา ง Use Case Diagram
17 การสราง Use Case 1. คนหา Actor 4. ตอ งไมม ี Actor ใดเลยทไ่ี มม ีปฏสิ มั พนั Diagram ดว ยการวเิ คราะหห า ธกบั Use Case ขอบเขตของระบบ (Problem 2. คนหา Use Case ท่มี ปี ฏสิ ัมพนั Domain) ซึง่ ประกอบไปดว ย ธก ับ Actor นน้ั โดยตรง 5. ตองไมมี Use Case ใดเลยท่ไี มมี ปฏิสมั พนั ธก บั Actor 3. คนหาและสรางความสัมพันธ ระหวาง Use Case หรอื Actor 6. Use Case ทกุ ตัวตอ งมปี ฏิสมั พนั ธอยาง ใดอยางหน่งึ กับ Actor หรอื Use Case ตวั อืน่ ๆเสมอ 7. เขียนคําอธิบายแตละ Use Case จน ครบถวน
18 3. ขอ แนะนาํ ในการสราง Use Case Diagram
19 ปญหาสําคัญที่เกิดข้ึนในระหวางการสราง Use Case Diagram กค็ อื การที่นักวเิ คราะหร ะบบหรือทมี งานที่รบั ผดิ ชอบไมสามารถ ระบุไดชัดเจนวาจะตอ งแสดง Use Case ใหละเอียดมากนอยเพียงใด จะตอ งแสดง Use Case ใดบา ง ไมแสดง Use Case ใด บา ง หรอื ตอ งแสดง Use Case ทง้ั หมดทเี่ ปนหนา ทท่ี ี่ระบบตอ งกระทา ทาใหบ างครัง้ ตอ งเสียเวลา ดงั นั้น ในท่ีนีจ้ งึ มขี อแนะนา บางประการท่จี ะทาใหข ั้นตอนการสราง Use Case Diagram เปน ขัน้ ตอนทไี่ มต อ งใชเ วลามากจนเกนิ ไป
20 1. Use Case Diagram ใชเพ่อื แสดงใหเหน็ 2. Use Case Diagram อาจมคี วามละเอยี ดมากหรือ ถงึ ขอ มลู ความตอ งการของผใู ชระบบเทา น้นั นอยกไ็ ด ขึ้นอยกู ับมมุ มอง เทคนิค และประสบการณ เนอื่ งจากหาก Use Case Diagram ทไ่ี ดใ น ของทมี งานหรือนักวิเคราะหร ะบบ จงึ ไมม ขี อ สรุปใด รอบแรกยังไมส ามารถครอบคลมุ ความ ระบไุ ดว า Use Case Diagram ลกั ษณะใดถกู ตอง ตองการของผูใช กส็ ามารถนามาปรับปรุง หรอื ลกั ษณะใดไมถ ูกตอง แกไขเพม่ิ เตมิ ไดจ นกวา จะครบถว น
21 3. ใหตระหนกั อยเู สมอวา Use Case 4. Use Case Diagram โดยสว นใหญจะไม Diagram นน้ั ใชเพ่อื การสือ่ สารระหวา งนัก แสดงใหเห็นถงึ การทางานในระดบั การ วิเคราะหระบบกับผูใช ไมไดใ ชสือ่ สาร จดั การขอ มลู ในฐานขอมลู เน่ืองจาก ระหวา งนักวิเคราะหระบบกบั โปรแกรมเมอร โปรแกรมของระบบงานทุกระบบจะตอ ง ดังนั้น Use Case Diagram จงึ ควรทาใหผ ูใ ช มีหนา ท่ีในสว นของการจัดการขอ มลู เปน เหน็ ภาพรวมของระบบในเชิงกวางมากกวา หนาที่พืน้ ฐานอยูแลว ไมจ าเปน ตองนาํ มา เชงิ ลึก แสดงใหเหน็ ใน Use Case Diagram กไ็ ด
22 5. จากขอ 3 สิ่งที่ควรนามาแสดงใน 6. จากขอ 4 คําวา “หนาทห่ี ลกั Use Case Diagram ก็คือ หนา ที่ หรอื หนา ท่ที ่ีเปน จดุ เดน ของระบบ” หลกั ๆ หรือหนาที่ทเี่ ปนจุดเดนของ ในทีน่ หี้ มายถึง หนาท่ีท่ีระบบจะ ระบบที่ผูใ ชงานตองการใหระบบ ตอ งกระทํา (System Operate) กระทาไดอ ยางแทจริงเทา นั้น ตามความตองการของผูใช ไมใ ช หนาทีท่ ีผ่ ูใชจ ะตองกระทํา (Human Operate) อนั เนื่องจากการทาํ งาน ของระบบ
23 4. การเขียนคาํ อธบิ าย Use Case
24 การวเิ คราะหระบบแบบเดิมท่ีจะตองมกี ารเขียนคําอธิบาย Context Diagram เพอ่ื ใหทราบรายละเอยี ดปลีกยอ ยของแตล ะ ระบบยอ ยดว ย สาหรบั ในแตล ะ Use Case ตามทก่ี ลาวไปแลววาประกอบไปดว ยการกระทาหลายๆ อยา งตอเนอื่ งกนั เปนลา ดับขน้ั ตอน ดงั น้ันการแสดงแผนภาพแทนความคดิ จําเปน ตอ งมกี ารเขียนอธบิ ายรายละเอยี ดควบคกู ันไปดว ย เรียก Use Case ดงั กลา ววา “กระแสของเหตุการณ (Flow of Event)”
25 การเขียนคําอธบิ าย Use Case หรือ Flow of Event นน้ั ปจจุบนั มีรูปแบบแตกตางกนั ออกไป แตในที่น้จี ะเขียนคาอธบิ ายโดยมสี วนประกอบ 2 สว นสาํ คญั ไดแก Main Flow และ Exceptional Flow 1. Main Flow คือ ลําดับกจิ กรรม เม่ือ Use Case ดาเนนิ กจิ กรรมตามปกติ และ Main Flow จะตอ งมเี พยี งหน่ึงเดยี วเทา นั้น 2. Exceptional Flow คอื ลําดับกิจกรรม เมือ่ Use Case ดาเนินกิจกรรมผดิ จากปกติ โดยสามารถมมี ากกวา 1 Flow ได ทง้ั Main Flow และ Exceptional Flow จะตองระบุถึงสาเหตุของการเรม่ิ ตน และสนิ้ สุดกิจกรรมดวยเสมอ
26 Use Case Diagram ทีส่ รา งเสรจ็ เรยี บรอยแลว เราสามารถทราบไดวาระบบ ลงทะเบยี นจะตอ งมีหนาที่หลกั ๆ อยู 3 หนาท่ี ไดแก ลงทะเบยี นเรยี น ตรวจ สอบรายวิชา และบันทึกการชาระเงินคาลงทะเบยี น โดยผทู ่ีมหี นา ท่ีลง ทะเบยี นกค็ อื “นักศึกษา” สว นผูทีม่ หี นา ท่ีรบั ลงทะเบยี นก็คอื “เจา หนาท่ี ฝา ยทะเบียน” และผูทมี่ หี นาทบ่ี ันทึกการชาระเงินคาลงทะเบยี น กค็ อื “เจาหนาท่ีฝายการเงนิ ” ซง่ึ ตา งกเ็ ปนพนกั งานของมหาวิทยาลยั เชนเดียวกนั
Search
Read the Text Version
- 1 - 26
Pages: