มาใช้ diagram อธิบายการทำงานของระบบต่าง ๆ กันเถอะ

มาใช้ diagram อธิบายการทำงานของระบบต่าง ๆ กันเถอะ

12 กรกฎาคม 2565

หากเราจะอธิบายการทำงานของระบบบางอย่างให้คนอื่นเข้าใจได้ง่าย ๆ คงหนีไม่พ้นการทำ diagram ที่สามารถแสดงให้เห็นถึงกระบวนการของระบบ ขั้นตอนการทำงาน หรือเห็นแต่ละกลุ่มที่มีหน้าที่ในระบบนั้น ๆ

diagram ที่เราจะนำมาพูดถึงในวันนี้คือ sequence diagram และ activity diagram ทั้งสองเป็น diagram ที่มีวัตถุประสงค์ในการแสดงพฤติกรรมการทำงานของระบบ สามารถเห็นภาพรวมของระบบหรือกระบวนการของงานได้ง่ายขึ้น ตัวอย่างระบบการทำงานที่สามารถใช้ diagram เช่น การทำงาน/การคำนวณค่าบางอย่าง หรือ ระบบที่มีการเรียกใช้งานระบบส่วนอื่น ๆ เพื่อทำงานอะไรบางอย่าง

sequence diagram และ activity diagram ทั้งสองอย่างนี้เป็นส่วนหนึ่งของ Unified Modeling Language (UML) คือเป็นภาษาภาพที่มีมาตรฐานกลางที่ใช้ในการอธิบายระบบ เพื่อให้เกิดความเข้าใจแก่ผู้ออกแบบกับโปรแกรมเมอร์ หรือฝั่งที่เกี่ยวกับ business ส่วนใหญ่จะถูกใช้ในบริบทเกี่ยวกับการพัฒนาซอฟต์แวร์ แต่ก็สามารถใช้อธิบายระบบต่าง ๆ เพื่อให้คนทำงานทั่วไปเข้าใจได้เช่นกัน

ตัวอย่าง activity diagram (ซ้าย) และ sequence diagram (ขวา)

Activity diagram

เป็น diagram ที่แสดงถึง workflow กิจกรรมของระบบ แสดงขั้นตอนการทำงานหนึ่งไปสู่อีกอันหนึ่ง โดยวิธีการเขียนจะต้องมีจุดเริ่มต้น-จุดสิ้นสุด และมีกิจกรรมต่าง ๆ ที่เกิดขึ้นระหว่างจุดเริ่มต้นกับจุดสิ้นสุด

สัญลักษณ์พื้นฐาน

สัญลักษณ์ชื่อคำอธิบาย
Initial State / Start Pointจุดเริ่มต้น
Activity or Action Stateกิจกรรม
Object FlowGuardsการไหลของกิจกรรม
Guardsกรณีมีเงื่อนไข
Synchronizationกรณีมีการทำกิจกรรมพร้อม ๆ กัน
Final State / End Pointจุดสิ้นสุด

ตัวอย่าง Activity diagram

Activity diagram – การกรอกข้อมูลลงทะเบียนเข้าร่วมโครงการ

ทั้งนี้ activity diagram สามารถแบ่งหมวดหมู่ของกิจกรรมได้ด้วยการเขียนเป็นแบบ Swimlanes ที่จะจัดกิจกรรมแต่ละอันตามหมวดหมู่ หรือผู้ที่รับผิดชอบกิจกรรมนั้น เพื่อให้เห็นภาพของระบบได้ง่ายขึ้น เช่น การบริการลูกค้าของร้านอาหาร จะแบ่งเป็น 3 ส่วน ได้แก่ ลูกค้า พนักงาน พ่อครัว

ตัวอย่าง activity diagram แบบ Swimlanes

Activity diagram แบบ Swimlanes – การบริการลูกค้าของร้านอาหาร

Sequence diagram

Sequence diagram ใช้แสดงถึงการปฏิสัมพันธ์กันในแต่ละส่วน ว่ามีการส่งข้อความหรือข้อมูลอะไรถึงกัน โดยแสดงตามลำดับของเวลา

สัญลักษณ์พื้นฐาน

สัญลักษณ์ชื่อคำอธิบาย
Actorผู้กระทำต่อระบบ
Objectอ็อบเจกต์ที่ต้องทำกิจกรรม
Lifelineเส้นการมีอยู่ของอ็อบเจกต์
Focus of Control / Activationแสดงถึงจุดเริ่มต้นและจุดสิ้นสุดของช่วงการทำกิจกรรม
Messageคำสั่ง หรือฟังก์ชันการทำงานที่มีการส่งไป
Callback / Self Delegationคำสั่ง หรือฟังก์ชันการทำงานที่เรียกภายในตัวเอง

ตัวอย่าง sequence diagram

Sequence diagram – ระบบการซื้อของออนไลน์ผ่านเว็บไซต์

โดยทั้ง 2 diagram นี้สามารถทำออนไลน์ผ่านเว็บบราวเซอร์ได้เลย ตัวอย่างที่มีให้ใช้งานได้ฟรี เช่น diagrams.net, visual-paradigm online ที่สามารถทำได้ทั้ง activity diagram และ sequence diagram และผู้เขียนขอแนะนำเว็บไซต์ทำ sequence diagram แบบ codebase (ทำ diagram ด้วยการเขียนเป็นโค้ด) ทำให้ไม่ต้องเสียเวลาจัดรูปแบบ ปรับขนาดกล่อง ข้อความต่าง ๆ แค่พิมพ์ให้ถูกลำดับ ถูกไวยากรณ์ของเว็บไซต์ที่เราใช้งาน เช่น SequenceDiagram.org, WebSequenceDiagrams

การเลือกใช้งานระหว่าง 2 diagram นี้จะขึ้นอยู่กับว่าเราต้องการโฟกัสที่จุดไหน หากต้องการเห็น workflow ของกิจกรรมที่เกิดขึ้นภายในระบบก็ให้เลือก activity diagram แต่หากต้องการโฟกัสที่ลำดับขั้นการทำงานของระบบ โดยเน้นที่ข้อความหรือคำสั่งที่มีการแลกเปลี่ยนระหว่างอ็อบเจกต์ก็ให้เลือก sequence diagram

เนื้อหาโดย วริศ หลิ่มโตประเสริฐ
ตรวจทานและปรับปรุงโดย อิสระพงศ์ เอกสินชล

Data Engineer at Big Data Institute (Public Organization), BDI

แบ่งปันบทความ

กลุ่มเนื้อหา

แท็กยอดนิยม

แจ้งเรื่องที่อยากอ่าน

คุณสามารถแจ้งเรื่องที่อยากอ่านให้เราทราบได้ !
และเราจะนำไปพัฒนาบทความให้มีเนื้อหาที่น่าสนใจมากขึ้น

ไอคอน PDPA

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ “นโยบายคุ้กกี้” และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ “ตั้งค่า”

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • คุกกี้ที่มีความจำเป็น (Strictly Necessary Cookies)
    เปิดใช้งานตลอด

    คุกกี้ประเภทนี้มีความจำเป็นต่อการให้บริการเว็บไซต์ของ สำนักงานคณะกรรมการคุ้มครองข้อมูลส่วนบุคคล เพื่อให้ท่านสามารถเข้าใช้งานในส่วนต่าง ๆ ของเว็บไซต์ได้ รวมถึงช่วยจดจำข้อมูลที่ท่านเคยให้ไว้ผ่านเว็บไซต์ การปิดการใช้งานคุกกี้ประเภทนี้จะส่งผลให้ท่านไม่สามารถใช้บริการในสาระสำคัญของ สำนักงานคณะกรรมการคุ้มครองข้อมูลส่วนบุคคล ซึ่งจำเป็นต้องเรียกใช้คุกกี้ได้
    รายละเอียดคุกกี้

  • คุกกี้เพื่อการวิเคราะห์และประเมินผลการใช้งาน (Performance Cookies)

    คุกกี้ประเภทนี้ช่วยให้ BDI ทราบถึงการปฏิสัมพันธ์ของผู้ใช้งานในการใช้บริการเว็บไซต์ของ BDI รวมถึงหน้าเพจหรือพื้นที่ใดของเว็บไซต์ที่ได้รับความนิยม ตลอดจนการวิเคราะห์ข้อมูลด้านอื่น ๆ BDI ยังใช้ข้อมูลนี้เพื่อการปรับปรุงการทำงานของเว็บไซต์ และเพื่อเข้าใจพฤติกรรมของผู้ใช้งานมากขึ้น ถึงแม้ว่า ข้อมูลที่คุกกี้นี้เก็บรวบรวมจะเป็นข้อมูลที่ไม่สามารถระบุตัวตนได้ และนำมาใช้วิเคราะห์ทางสถิติเท่านั้น การปิดการใช้งานคุกกี้ประเภทนี้จะส่งผลให้ BDI ไม่สามารถทราบปริมาณผู้เข้าเยี่ยมชมเว็บไซต์ และไม่สามารถประเมินคุณภาพการให้บริการได้

  • คุกกี้เพื่อการใช้งานเว็บไซต์ (Functional Cookies)

    คุกกี้ประเภทนี้จะช่วยให้เว็บไซต์ของ BDI จดจำตัวเลือกต่าง ๆ ที่ท่านได้ตั้งค่าไว้และช่วยให้เว็บไซต์ส่งมอบคุณสมบัติและเนื้อหาเพิ่มเติมให้ตรงกับการใช้งานของท่านได้ เช่น ช่วยจดจำชื่อบัญชีผู้ใช้งานของท่าน หรือจดจำการเปลี่ยนแปลงการตั้งค่าขนาดฟอนต์หรือการตั้งค่าต่าง ๆ ของหน้าเพจซึ่งท่านสามารถปรับแต่งได้ การปิดการใช้งานคุกกี้ประเภทนี้อาจส่งผลให้เว็บไซต์ไม่สามารถทำงานได้อย่างสมบูรณ์

  • คุกกี้เพื่อการโฆษณาไปยังกลุ่มเป้าหมาย (Targeting Cookies)

    คุกกี้ประเภทนี้เป็นคุกกี้ที่เกิดจากการเชื่อมโยงเว็บไซต์ของบุคคลที่สาม ซึ่งเก็บข้อมูลการเข้าใช้งานและเว็บไซต์ที่ท่านได้เข้าเยี่ยมชม เพื่อนำเสนอสินค้าหรือบริการบนเว็บไซต์อื่นที่ไม่ใช่เว็บไซต์ของ BDI ทั้งนี้ หากท่านปิดการใช้งานคุกกี้ประเภทนี้จะไม่ส่งผลต่อการใช้งานเว็บไซต์ของ BDI แต่จะส่งผลให้การนำเสนอสินค้าหรือบริการบนเว็บไซต์อื่น ๆ ไม่สอดคล้องกับความสนใจของท่าน

บันทึกการตั้งค่า
ไซต์นี้ลงทะเบียนกับ wpml.org ในฐานะไซต์พัฒนา สลับไปยังไซต์การผลิตโดยใช้รหัส remove this banner.