หน้าเว็บ


Activity Diagram

   
         Activity Diagram หรือแผนภาพกิจกรรม ใช้อธิบายกิจกรรมที่เกิดขึ้นในลักษณะกระแสการไหลของการทำงาน (Workflow)

        Activity Diagram จะมีลักษณะเดียวกับ Flowchart (แสดงขั้นตอนการทำงานของระบบ) โดยขั้นตอนในการทำงานแต่ละขั้นจะเรียกว่า Activity

การใช้ Activity Diagram
         - อธิบาย กระแสการไหลของการทำงาน (Workflow)
         - แสดงขั้นตอนการทำงานของระบบ

Activity อาจเป็นการทำงานต่างๆ ได้แก่
        - การคำนวณผลลัพธ์บางอย่าง
        - การเปลี่ยนแปลงสถานะ (State) ของระบบ
        - การส่งค่ากลับคืน
        - การส่งสัญญาณ
        - การเรียกใช้ Operation (Method) อื่นๆ เพื่อทำงาน
        - การสร้าง หรือ ทำลายวัตถุ

ลักษณะของ Activity Diagram
        - Activity Diagram จะต้องมีจุดเริ่มต้นกับจุดสิ้นสุด และในระหว่างจุดเริ่มต้นกับจุดสิ้นสุดจะมีขั้นตอนหรือ Activity ต่างๆ ของระบบ
        - ปกติแล้วจะเขียน Activity Diagram โดยอ่านจากด้านบนลงล่าง (ดังภาพที่ 1.1)
  ภาพที่ 1. แผนภาพแสดงการไหลของข้อมูล


สัญลักษณ์ที่ใช้ใน Activity Diagram


         ภาพที่ 2. สัญลักษณ์ที่ใช้ใน Activity Diagram

                                                                ภาพที่ 3. สัญลักษณ์ที่ใช้ใน Activity Diagram


                                                              ภาพที่ 4. สัญลักษณ์ที่ใช้ใน Activity Diagram


ขั้นตอนในการเขียน  Activity Diagram
        1. พิจารณากิจกรรมต่างๆ ที่ที่ได้จากผลการวิเคราะห์ที่ควรอธิบาย
        2. พิจารณากิจกรรมย่อยที่เกิดขึ้น เงื่อนไขหรือกรณีต่างๆ ที่เกิดขึ้นเมื่อเป็นไปตามเงื่อนไข
        3. เรียงลำดับกิจกรรมที่เกิดก่อนหลัง
        4. เขียนกิจกรรมย่อยด้วยสัญลักษณ์แสดงกิจกรรม
        5. เขียนจุดเริ่มต้น
        6.เขียนจุดสิ้นสุด

รูปแบบการใช้ Activity Diagram
1. แบบทั่วไป
                                                                       ภาพที่ 5. Activity Diagram แบบทั่วไป

2. แบบมีทางเลือกให้ตัดสินใจ
การกำหนดทางเลือกให้แก่ Activity Diagram ทำได้ 2 วิธี
        - ลากลูกศรของแต่ละทางเลือกไปยัง Activity ผลลัพธ์ของทางเลือกโดยตรง
        -ลากลูกศรของแต่ละทางเลือกผ่านรูปสี่เหลี่ยมขนมเปียกปูนก่อน
                                                             ภาพที่ 6. Activity Diagram  แบบมีทางเลือกให้ตัดสินใจ


 ภาพที่ 7. ตัวอย่างActivity Diagram


3. แบบมีการทำงานพร้อมๆกันหลายงาน
ให้ใช้เส้นตรงแนวนอนเส้นหนาที่เรียกว่า Swim Lanes มาเป็นสัญลักษณ์ที่ใช้จัดกลุ่มงานที่มีการทำงานพร้อมๆกันหรือการทำกิจกรรมในลักษณะคู่ขนาน


ภาพที่ 8. Activity Diagram แบบมีการทำงานพร้อมๆกันหลายงาน

4. แบบการส่งสัญญาณ
ในกระบวนการทำงาน อาจเป็นไปได้ว่าจะมีการส่งสัญญาณบางอย่างในระหว่างการทำงาน เมื่อเกิดการส่ง - รับ สัญญาณ เราเรียกว่าเกิด Activity ได้เช่นกัน


ภาพที่ 9. Activity Diagram แบบการส่งสัญญาณ

การใช้ Activity Diagram แสดงการส่งสัญญาณ
         ตัวอย่างการใช้ Activity Diagram แสดงการส่งสัญญาณที่เป็นการแสดงความสัมพันธ์ระหว่าง Activity ทั้งสอง ภายใต้เหตุการณ์เดียวกันโดยระบบที่สนใจ คือ การกดปุ่มรีโมทคอนโทรลเพื่อเปลี่ยนช่องโทรทัศน์
ภาพที่ 10. Activity Diagram แสดงการส่งสัญญาณ

ภาพที่ 11. ตัวอย่าง Activity Diagram ของ ATM


แบ่งการทำงานให้เป็นสัดส่วนด้วย Swim lanes 
        - คุณลักษณะอีกอย่างหนึ่ง คือ ความสามารถแสดงให้เห็นได้ว่าใครเป็นผู้มีหน้าที่รับผิดชอบในแต่ละ Activity ในกระบวนการทำงานหนึ่งๆ
        -หลักการของการแสดงหน้าที่ จำทำโดยการแบ่งกลุ่มของการรับผิดชอบเป็นกลุ่มๆ ซึ่งเปรียบเหมือนการแข่งว่ายน้ำ เรียกกลไกนี้ว่า Swim lanes
        -ในแต่ละ Swim lanes จะมีการกำหนดชื่อกำกับเอาไว้ เช่นกระบวนการของการสั่งซื้อสินค้า เราอาจแบ่งกลุ่มของคนที่มีส่วนเกี่ยวข้องเป็น 3 ส่วน ได้แก่ ลูกค้า, ฝ่ายขาย, คลังสินค้า
ตัวอย่างการทำงานให้เป็ยสัดส่วนด้วย Swim lanes


                                                ภาพที่ 12. แบ่งการทำงานให้เป็ยสัดส่วนด้วย Swim lanes 

Activity Diagram : Transitions

(ภาพบน) Control-flow transitions ใช้เพื่อเรียงลำดับของการเกิด Activity โดยจะเริ่มทำ Action ถัดไปก็ต่อเมื่อ Action ก่อนหน้าทำงานเสร็จเรียบร้อย
(ภาพล่าง) Object-flow transitions ใช้เพื่อระบุ Input หรือ Output ที่เกิดขึ้นจากการทำงานใน Action นั้นโดย Input /Output จะแสดงเป็น Object
 ภาพที่ 13. Activity Diagram : Transitions

Activity Diagram : Swim lanes
กิจกรรมในการทำงาน สามารถแบ่งหน่วยงานที่รับผิดชอบได้ด้วย Swim lanes
ภาพที่ 14. Activity Diagram : Swim lanes

Activity Diagram : Decision
แทนด้วยสัญลักษณ์สี่เหลี่ยมข้าวหลามตัด พร้อมระบุเงื่อนไขของแต่ละกรณีเอาไว้

ภาพที่ 15. Activity Diagram : Decision

ภาพที่ 16. ตัวอย่างActivity Diagram : Decision

Activity Diagram : Concurrency
Concurrency เป็นการแสดงการทำงานที่สามารถทำกิจกรรมใด พร้อมๆกันได้

ภาพที่ 17. Activity Diagram : Concurrency

การระบุส่วนของข้อมูลให้แก่กิจกรรม
        - โดยปกติกิจกรรมการทำงานมักเกี่ยวข้องกับข้อมูล  เช่น  การสร้าง  ลบ  หรือ  การโยกย้ายข้อมูล
เป็นต้น
       - Activity Diagram จึงมีส่วนที่เรียกว่า Input Pin และ Output Pin สำหรับการแสดงส่วนที่เป็นข้อมูล  Input และ Output 
       - Pin จะมีลักษณะเป็นรูปสี่เหลี่ยมเล็กๆ ที่วางไว่ก่อนหรือหลังรูปสี่เหลี่ยม มุมโค้งของ Activity เพื่อแสดง Input และ Output  ของกิจกรรม


ภาพที่ 18. การระบุส่วนของข้อมูลให้แก่กิจกรรม

        - ในกรณีที่ข้อมูล  Input จากกิจกรรมหนึ่งเป็น Output ของอีกกิจกรรมหนึ่ง การแสดงความสัมพันธ์ระหว่างกิจกรรมดังกล่าว สามารถเขียนได้ 2 แบบ ดังนี้


ภาพที่ 19. การแสดงความสัมพันธ์ระหว่างกิจกรรม 2 แบบ


การจัดระเบียบข้อมูล
        - ในบางครั้งข้อมูลอาจมาจากต้นทางหลายแห่ง หรือมาจากต้นทางเดียวกัน แต่มีการส่งข้อมูลมาเรื่อยๆ อย่างต่อเนื่อง ดังนั้นจึงต้องจัดเรียงข้อมูลเหล่านั้นในระหว่างกระบวนการทำงานหนึ่งๆ โดยใช้สัญลักษณ์ <<centralBuffer>>


ภาพที่ 20. การจัดระเบียบข้อมูล


การสร้างทีพัก/เก็บข้อมูล
        - ระหว่างกิจกรรมหนึ่งๆ อาจมีการสร้าง ลบ โยกย้ายข้อมูล รวมถึงมีการเรียกใช้ข้อมูลเพื่อประมวลผลบางอย่าง บางครั้งข้อมูลเหล่านี้จะเกิดขึ้นชั่วคราวในระหว่างการทางาน เมื่อการประมวลผลเสร็จสิ้น ข้อมูลนั้นจะหายไป หรือในบางครั้งเราอาจต้องเก็บข้อมูลดังกล่าวไว้เพื่อการทากิจกรรมอื่นๆ ต่อไป ไม่ว่ากรณีใดก็ตามเราต้องมีที่สาหรับพัก/เก็บข้อมูลนั้นเอาไว้ที่ Data Store โดยใน Activity Diagram จะใช้สัญลักษณ์ <<datastore>>

ภาพที่ 21. จะใช้สัญลักษณ์ <<datastore>>


ภาพที่ 22.  ตัวอย่างการนา Data Store มาใช้งาน


คุณสมบัติของ Activity Diagram ที่ดี
       - มุ่งเน้นการติดต่อสื่อสารของระบบในเชิงไดนามิก
        - เฉพาะอีลิเมนต์ที่มีความสาคัญต่อกระบวนการทางานเท่านั้น
        - แสดงรายละเอียดในแต่ละระดับการทางาน โดยเลือกแสดง เฉพาะที่มีความสาคัญต่อการเข้าใจการทางานของระบบเท่านั้น
        - ถ้าการทางานส่วนใดมีความสาคัญ ก็ควรเขียน Activity Diagram ไม่ควรละเอาไว้หรือแสดงเพียงอย่างย่อๆ


ตัวอย่าง Activity Diagram
        - เรื่อง Research Process (กระบวนการวิจัย)

ภาพที่ 23. ตัวอย่าง Research Process (กระบวนการวิจัย)


        - ตัวอย่างการลงทะเบียนเรียน


ภาพที่ 24. ตัวอย่างการลงทะเบียนเรียน