290353 Object-Oriented Analysis and Design บทที่ 7 การออกแบบการอธิบายกิจกรรมย่อย ในงานด้วย Activity Diagram โด อ.ธารารัตน์ พวงสุวรรณ คณะวิทยาศาสตร์และศิลปศาสตร์ มหาวิทยาลัยบูรพา วิทยาเขตสารสนเทศจันทบุรี
Activity Diagram State Diagram ใช้อธิบายการเปลี่ยนแปลงจาก State หนึ่งไปยังอีก State หนึ่ง ส่วน Activity Diagram หรือแผนภาพแสดงกิจกรรม ใช้อธิบายกิจกรรมที่เกิดขึ้นในลักษณะกระแสการไหลของการทำงาน (workflow) Activity Diagram จะมีลักษณะเดียวกับ Flowchart (แสดงขั้นตอนการ ทำงานของระบบ) โดยขั้นตอนในการทำงานแต่ละขั้นตอนซึ่งเรียกว่ Activity ใช้ Activity Diagram - อธิบาย กระแสการไหลของการทำงาน (workflow) - แสดงขั้นตอนการทำงานของระบบ
Activity Diagram Activity อาจเป็นการทำงานต่างๆ ได้แก่ การคำนวณผลลัพธ์บางอย่าง การเปลี่ยนแปลงสถานะ (State) ของระบบ การส่งค่ากลับคืน การส่งสัญญาณ การเรียกให้ Operation (Method) อื่นๆเพื่อทำงาน การสร้าง หรือ ทำลายวัตถุ
ลักษณะของ Activity Diagram Activity Diagram จะต้องมีจุดเริ่มต้นกับจุดสิ้นสุด และในระหว่างจุดเริ่มต้นกับจุดสิ้นสุดก็จะมีขั้นตอนหรือ Activity ต่างๆ ของระบบ ปกติแล้วจะเขียน Activity Diagram โดยอ่านจากด้านบนลงล่าง 4
สัญลักษณ์ที่ใช้ใน Activity Diagram
สัญลักษณ์ที่ใช้ใน Activity Diagram
สัญลักษณ์ที่ใช้ใน Activity Diagram
ขั้นตอนในการเขียน Activity Diagram 1. พิจารณากิจกรรมต่าง ๆ ที่ได้จากผลการวิเคราะห์ที่ควรอธิบาย 2. พิจารณากิจกรรมย่อยที่เกิดขึ้น เงื่อนไขหรือกรณีต่าง ๆ ที่เกิดขึ้น เมื่อเป็นไปตามเงื่อนไข 3. เรียงลำดับกิจกรรมที่เกิดก่อนหลัง 4. เขียนกิจกรรมย่อย ด้วยสัญลักษณ์แสดงกิจกรรม 5. เขียนจุดเริ่มต้น 6. เขียนจุดสิ้นสุด
รูปแบบการใช้ Activity Diagram แบบทั่วไป แบบมีทางเลือกให้ตัดสินใจ แบบที่มีการทำงานพร้อมๆ กันหลายงาน แบบการส่งสัญญาณ 9
การใช้ Activity Diagram แบบทั่วไป 10
การสร้างทางเลือกด้วย Activity Diagram ลากให้ลูกศรของแต่ละทางเลือกผ่านรูปสี่เหลี่ยมขนมเปียกปูนก่อน 11
ตัวอย่าง Activity Diagram ที่มีทางเลือก
การทำหลายงานพร้อมกัน ให้ใช้เส้นตรงแนวนอนเส้นหนาที่เรียกว่า Swim Lanes มาเป็นสัญลักษณ์ที่ใช้จัดกลุ่มงานที่มีการทำงานพร้อมๆ กัน หรือ การทำกิจกรรมในลักษณะคู่ขนาน 13
การใช้ Activity Diagram แสดงการส่งสัญญาณ แทนเหตุการณ์ที่เป็นอินพุต แทนเหตุการณ์ที่เป็นเอาต์พุต 14
การใช้ Activity Diagram แสดงการส่งสัญญาณ ตัวอย่างการใช้ Activity Diagram แสดงการส่งสัญญาณที่เป็นการแสดงความสัมพันธ์ระหว่าง Activity ทั้งสอง ภายใต้เหตุการณ์เดียวกัน โดยระบบที่สนใจ คือ การกดปุ่มรีโมทคอนโทรลเพื่อเปลี่ยนช่องโทรทัศน์ 15
ตัวอย่าง Activity Diagram ของ ATM
การแบ่งการทำงานให้เป็นสัดส่วน แบ่งการทำงานให้เป็นสัดส่วนด้วย Swimlanes คุณลักษณะอีกอย่างหนึ่งคือสามารถแสดงให้เห็นได้ว่าใครเป็นผู้มีหน้าที่รับผิดชอบในแต่ละ activity ในกระบวนการทำงานหนึ่ง ๆ หลักการของการแสดงหน้าที่ จะทำโดยการแบ่งกลุ่มของการรับผิดชอบเป็นกลุ่มๆ ซึ่งเปรียบเหมือนการแข่งว่ายน้ำ เรียกกลไกนี้ ว่า Swimlanes ในแต่ละ swimlane จะมีการกำหนดชื่อกำกับเอาไว้ เช่น กระบวนการของการสั่งซื้อสินค้า เราอาจแบ่งกลุ่มของคนที่มีส่วน เกี่ยวข้องเป็น 3 ส่วน ได้แก่ ลูกค้า , ฝ่ายขาย และคลังสินค้า
การแบ่งการทำงานให้เป็นสัดส่วน สำหรับ Activity Diagram ใน UML 2.0 มีการระบุความรับผิดชอบได้ 2 วิธี Swim lanes Partition names 18
การแบ่งการทำงานด้วย Swim Lanes Order Processing - Process step where the distribution center or warehouse is responsible to fill order (receive and stock inventory, pick, pack and ship orders) 19
Order Processing - Process step where the distribution center or warehouse is responsible to fill order (receive and stock inventory, pick, pack and ship orders)
การแบ่งการทำงานด้วย Partition names เป็นการกำหนดชื่อผู้รับผิดชอบไปในแต่ละกิจกรรม 21
ตัวอย่าง Activity Diagram
สรุป Activity Diagram แผนภาพแสดงกิจกรรม (Activity Diagram) เป็นแผนภาพที่แสดงกิจกรรมที่เป็นงานย่อยของ Object ในแต่ละ Use Case สัญลักษณ์ที่ใช้ในการแสดงกิจกรรมจะเป็นสี่เหลี่ยมแคปซูล และมีเส้นลูกศร เพื่อแสดงลำดับของกิจกรรม