Chapter 8 การจ ดก จกรรมต างๆ โดยใช ACTIVITY DIAGRAM 1
เน อหา ล กษณะของ Activity Diagram ร ปแบบการใช Activity Diagram การระบ ส วนของข อม ลให แก ก จกรรม การจ ดระเบ ยบข อม ล การสร างท พ ก/เก บข อม ล การแบ งการทางานด วย Swim Lanes การแบ งการทางานด วย Partition names 2
ล กษณะของ Activity Diagram ไดอะแกรมน ม ล กษณะเด ยวก บโฟลว ชาร ต ใช สาหร บแสดงข นตอนการทางานของระบบ เร ยกข นตอนแต ละข นตอนว า Activity ซ งม ล กษณะการ ทางานด งน การคานวณผลล พธ บางประการ การเปล ยนแปลงสถานะ (state) ของระบบ การส งค าบางอย างกล บค นมา การเร ยกใช โอเปอร เรช นอ นๆ ทางาน การส งส ญญาณ การสร าง หร อการทาลายออบเจ กต 3
ล กษณะของ Activity Diagram Activity Diagram จะต องม จ ดเร มต นก บจ ดส นส ด และในระหว าง จ ดเร มต นก บจ ดส นส ดก จะม ข นตอน หร อ Activity ต างๆ ของระบบ ปกต แล วจะเข ยน Activity Diagram โดยอ านจากด านบนลง ล าง 4
ร ปแบบการใช Activity Diagram แบบท วไป แบบม ทางเล อกให ต ดส นใจ แบบท ม การทางานพร อมๆ ก นหลายงาน Activity Diagram สาหร บการส งส ญญาณ 5
การใช Activity Diagram แบบท วไป 6
การสร างทางเล อกด วย Activity Diagram การกาหนดทางเล อกให แก Activity Diagram ทาได 2 ว ธ ลากล กศรของแต ละทางเล อกไปย ง Activity ผลล พธ ของทางเล อกโดยตรง ลากให ล กศรของแต ละทางเล อกผ านร ปส เหล ยมขนมเป ยกป นก อน 7
การทาหลายงานพร อมก น ให ใช เส นตรงแนวนอนเส น หนาท เร ยกว า Swim Lanes มาเป นส ญล กษณ ท ใช จ ดกล มงานท ม การ ทางานพร อมๆ ก น หร อ การ ทาก จกรรมในล กษณะ ค ขนาน 8
การใช Activity Diagram แสดงการส งส ญญาณ ในกระบวนการทางาน อาจเป นไปได ว าจะม การส งส ญญาณ บางอย างในระหว างการทางาน เม อเก ดการส ง-ร บ ส ญญาณ เราเร ยกว าเก ด Activity ได เช นก น แทนเหต การณ ท เป นอ นพ ต แทนเหต การณ ท เป นเอาต พ ต 9
การใช Activity Diagram แสดงการส งส ญญาณ ต วอย างการใช Activity Diagram แสดงการส งส ญญาณท เป นการแสดง ความส มพ นธ ระหว าง Activity ท งสอง ภายใต เหต การณ เด ยวก น โดยระบบท สนใจ ค อ การ กดป มร โมทคอนโทรลเพ อ เปล ยนช องโทรท ศน 10
การระบ ส วนของข อม ลให แก ก จกรรม โดยปกต ก จกรรมการทงานม กเก ยวข องก บข อม ล เช น การสร าง ลบ หร อ การโยกย ายข อม ล เป นต น Activity Diagram จ งม ส วนท เร ยกว า Input Pin และ Out Pin สาหร บการแสดงส วนท เป นข อม ลอ นพ ตและเอาต พ ต Pin จะม ล กษณะเป นร ปส เหล ยมเล กๆ ท วางไว ก อนหร อหล งร ปส เหล ยม ม มโค งของ Activity เพ อแสดงอ นพ ตและเอาต พ ตของก จกรรม 11
การระบ ส วนของข อม ลให แก ก จกรรม ในกรณ ท ข อม ลอ นพ ตจากก จกรรมหน งเป นเอาต พ ตของอ ก ก จกรรมหน ง การแสดงความส มพ นธ ระหว างก จกรรมด งกล าว สามารถเข ยนได 2 แบบ 12
การจ ดระเบ ยบข อม ล ในบางคร งข อม ลอาจมาจากต นทางหลายแห ง หร อมาจากต น ทางเด ยวก นแต ม การส งข อม ลมาเร อยๆ อย างต อเน อง ด งน นจ ง ต องจ ดเร ยงข อม ลเหล าน นในระหว างกระบวนการทางานหน งๆ โดยใช ส ญล กษณ <<centralbuffer>> 13
การสร างท พ ก/เก บข อม ล ระหว างก จกรรมหน งๆ อาจม การสร าง ลบ โยกย ายข อม ล รวมถ ง ม การเร ยกใช ข อม ลเพ อประมวลผลบางอย าง บางคร งข อม ล เหล าน จะเก ดข นช วคราวในระหว างการทางาน เม อการ ประมวลผลเสร จส น ข อม ลน นจะหายไป หร อในบางคร งเราอาจ ต องเก บข อม ลด งกล าวไว เพ อการทาก จกรรมอ นๆ ต อไป ไม ว า กรณ ใดก ตามเราต องม ท สาหร บพ ก/เก บข อม ลน นเอาไว ท Data Store โดยใน Activity Diagram จะใช ส ญล กษณ <<datastore>> 14
การสร างท พ ก/เก บข อม ล ต วอย างการนา Data Store มาใช งาน 15
การแบ งการทางานให เป นส ดส วน ค ณล กษณะอย างหน งของการใช Activity Diagram ค อ สามารถแสดงให เห นว าใครร บผ ดชอบก จกรรมในส วนไหนบ าง สาหร บ Activity Diagram ใน UML 2.0 ม การระบ คามร บผ ดชอบได 2 ว ธ Swim lanes Partition names 16
การแบ งการทางานด วย Swim Lanes การกาหนด Swim lanes น นสามารถทาในแนวต งหร อ แนวนอนก ได โดยแต ละเลนจะม ช อผ ร บผ ดชอบเพ ยงคนเด ยว หร อกล มเด ยว และผ ร บผ ดชอบจะทาหน าท ของตนท ระบ ในเลน น นๆ 17
การแบ งการทางานด วย Partition names เป นการกาหนดช อผ ร บผ ดชอบไปในแต ละก จกรรม 18
การกาหนดจ ดส นส ดของก จกรรม เม อเราต องการกาหนดจ ดส นส ดของโฟลว การทางาน จะใช ส ญล กษณ ด งน 19
ต วอย าง Activity Diagram 20
การเล อกใช Activity Diagram ก บ State Diagram Activity Diagram จะม ล กษณ คล ายคล งก บ Flow Chart โดยจะแสดงถ ง ลาด บข นตอนการทางาน จ ดท ม การต ดส นใจ และการแตกการทางานเป นส วนย อยๆ Activity Diagram จ งม ประโยชน มากสาหร บใช อธ บายถ งการทางานของ ออบเจ กต ต างๆ รวมถ งกระบวนการทางานต างๆ ด วย ใช Activity Diagram เม อ เป นการเปล ยนแปลงเหต การณ ต างๆ อ นเป นผลมาจากการกระทาภายในระบบเอง ม ล กษณะต อเน องก น และม กจะม จ ดท ระบบงานต องม การต ดส นใจ ใช State Diagram เม อ เป นการเปล ยนแปลงเหต การณ ต างๆ ในล กษณะไม ต อเน องก น ให ใช State Diagram เพ อแสดงสถานะต างๆ ท เก ดข นภายใน Diagram 21
ค ณสมบ ต ของ Activity Diagram ท ด ม งเน นการต ดต อส อสารของระบบในเช งไดนาม ก เฉพาะอ ล เมนต ท ม ความสาค ญต อกระบวนการทางานเท าน น แสดงรายละเอ ยดในแต ละระด บการทางาน โดยเล อกแสดง เฉพาะท ม ความสาค ญต อการเข าใจการทางานของระบบเท าน น ถ าการทางานส วนใดม ความสาค ญ ก ควรเข ยน Activity Diagram ไม ควรละเอาไว หร อแสดงเพ ยงอย างย อๆ 22