บทนำ แผนภาพกระแสข้อมูล (Data Flow Diagram) เป็นการออกแบบที่แสดงตรรกะของกระบวนการทำงาน โดยมีการวาดแผนผังออกมา คล้ายกับการสร้างบ้าน ที่ต้องมีแปลน ภายนอก ภายใน รายละเอียดของการคำนวณความแข็งแรง วัสดุและอุปกรณ์ที่จำเป็นต้องใช้ เป็นต้น
โมเดลของกระบวนการทำงาน (Process Modeling) สัญลักษณ์แทนกระบวนการทำงาน การบริหารและจัดการข้อมูล การส่งผ่านข้อมูลระหว่างระบบกับสิ่งแวดล้อมภายนอกระบบ (External Entities)สร้างขึ้นมาจากสารสนเทศที่ได้จากการวิเคราะห์ความต้องการเป็นการสร้างโมเดลของกระบวนการทำงาน และ โครงสร้างข้อมูลที่ใช้ภายในระบบ
องค์ประกอบโมเดลของกระบวนการทำงาน แผนภาพบริบท (Context Data Flow Diagram)แสดงขอบเขตการทำงานของระบบ (Scope of system)DFDs ต้องแสดงกายภาพ และตรรกะของระบบได้ คือช่วยให้นักวิเคราะห์สามารถเข้าใจการทำงานของระบบได้เป็นโมเดลไม่ขึ้นกับเทคโนโลยีที่ใช้แสดงทิศทางการไหลของข้อมูล, โครงสร้างข้อมูล และฟังก์ชันการทำงานของระบบงานใหม่ได้
แผนภาพกระแสข้อมูล (Data Flow Diagram: DFD) คือแผนภาพที่ แสดงทิศทางการไหลข้อมูลระหว่างหน่วยงานนอกระบบ (External Entities เช่น ลูกค้า, พนักงานขาย เป็นต้น) กับกระบวนการทำงาน (Process) และพื้นที่จัดเก็บข้อมูลของระบบ (Data Store)DFDs แตกต่างจาก Flowchart คือ DFDs เป็นการแสดงรายละเอียดทางกายภาพ(Physical) และ ตรรกะ(Logical) ของทิศทางการไหลข้อมูล โดยไม่ขึ้นกับ เทคโนโลยี Flowchart เป็นการแสดงรายละเอียดทางกายภาพ(Physical) ของระบบมากกว่าทางตรรกะ
การตั้งชื่อสัญลักษณ์ของแผนภาพกระแสข้อมูล กระบวนการ กระแสข้อมูล แหล่งจัดเก็บ ต้นทาง/ลายทาง
สัญลักษณ์ของแผนภาพกระแสข้อมูล (DFD Symbols) กระบวนการ (Process) หมายถึง การทำงาน หรือกิจกรรมที่ กระทำกับข้อมูลภายในระบบ ทิศทางกระแสข้อมูล (Data Flow) แสดงทิศทางข้อมูลด้วยลูกศร โดยมีกระบวนการ เป็นตัวกลางในการรับและส่งข้อมูลไปยังส่วน ต่าง ๆ ของระบบ แหล่งจัดเก็บข้อมูล (Data Store) หมายถึง ข้อมูลที่จัดเก็บภายใน ระบบทั้งหมด ต้นทาง / ปลายทาง (Source / Sink) หมายถึง หน่วยงานต้นทาง หรือ ปลายทางที่อยู่ภายนอกระบบ (External Entity)
ไม่มีกระบวนการที่มีแต่ ข้อมูลเข้า หรือ มีแต่ ข้อมูลออกอย่างเดียว กฎของกระแสข้อมูล (Data Flow Diagram Rules) กระบวนการ (Process) กระบวนการต้องมี ข้อมูลเข้า และออก ไม่มีกระบวนการที่มีแต่ ข้อมูลเข้า หรือ มีแต่ ข้อมูลออกอย่างเดียว ชื่อของกระบวนการต้องเป็นคำกริยา
ทิศทางของข้อมูลเข้า หรือ ออกจากแหล่ง กฎของกระแสข้อมูล (Data Flow Diagram Rules) แหล่งจัดเก็บข้อมูล (Data Store) ทิศทางของข้อมูลเข้า หรือ ออกจากแหล่ง จัดเก็บข้อมูลต้องกระทำผ่านกระบวนการ เท่านั้น ชื่อของแหล่งจัดเก็บข้อมูลต้องเป็นคำนาม
กฎของกระแสข้อมูล (Data Flow Diagram Rules) ต้นทาง / ปลายทาง (Source / Sink) ข้อมูลไม่สามารถส่งผ่านไปยังหน่วยงานภายนอก ได้โดยตรง ต้องกระทำผ่านกระบวนการเท่านั้น ชื่อของต้นทาง / ปลายทางต้องเป็นคำนาม
กฎของกระแสข้อมูล (Data Flow Diagram Rules) ทิศทางกระแสข้อมูลระหว่าง กระบวนการ กับแหล่งจัดเก็บ ข้อมูล กรณีมีข้อมูลเข้า/ออก ให้แสดงเป็นลูกศรแยกคนละเส้น กรณีที่แตกกระแสข้อมูลเส้น เดียวกัน จะต้องเป็นข้อมูล ตัวเดียวกัน
กฎของกระแสข้อมูล (Data Flow Diagram Rules) เราต้องการรวมการไหลของ ข้อมูลได้ แต่ข้อมูลจะต้อง เป็นข้อมูลเดียวกันเท่านั้น ก า ร ไ ห ล ข อ ง ข้อ มูล ไ ม่สามารถเรียกซ้ำ ตัวเองได้แ ต่ส า ม า ร ถ วิ่ง ผ่า นกระบวนการอื่น ก่อนแล้วค่อยย้อนกลับมาได้
กฎของกระแสข้อมูล (Data Flow Diagram Rules) ทิศทางของกระแสข้อมูลจากกระบวนการ ไปแหล่งจัดเก็บข้อมูลหมายถึงการปรับปรุงข้อมูล เช่น เพิ่ม ลบ หรือ แก้ไขข้อมูลทิศทางของกระแสข้อมูลจากแหล่งจัดเก็บข้อมูล ไปยังกระบวนการหมายถึง การอ่านข้อมูล หรือ นำข้อมูลไปใช้ชื่อของทิศทางกระแสข้อมูลควรใช้คำนาม
ระดับของแผนภาพกระแสข้อมูล (DFD Levels) แผนภาพบริบท (Context DFD) แสดงภาพรวมการทำงานของระบบ แผนภาพกระแสข้อมูลระดับที่ 0 (Level-0 DFD) แสดงกระบวนการทำงานหลัก สามารถเอา Use Case มาช่วย พิจารณากระบวนการทำงานได้ แผนภาพกระแสข้อมูลระดับที่ 1 (Level-1 DFD) การจำแนกระบบงานย่อยของ แผนภาพกระแสข้อมูลระดับที่ 0 แผนภาพกระแสข้อมูลระดับที่ n (Level-n DFD) การจำแนกระบบงานย่อยของ แผนภาพกระแสข้อมูลระดับที่ n-1
การแจกแจงฟังก์ชันการทำงานย่อย (Functional Decomposition) เป็นการที่ใช้แจกแจงระบบงานใหญ่(ภาพรวม) ให้เป็นระบบงานย่อยที่มีความละเอียดมากขึ้นกระบวนการระดับสูง ใช้อธิบายรายละเอียดของกระบวนการระดับล่างแผนภาพกระแสข้อมูลจะแสดงรายละเอียดของกระบวนการในแต่ละระดับ
ปกติในระบบงานทั่วไป แผนภาพกระแสข้อมูลจะไม่เกินระดับที่ 3 แผนภาพกระแสข้อมูลต้องละเอียดจนถึงระดับใด ปกติในระบบงานทั่วไป แผนภาพกระแสข้อมูลจะไม่เกินระดับที่ 3 เมื่อไหร่เราถึงจะแจกแจง ฟังก์ชันการทำงานย่อย เมื่อกระบวนการถูกลดรูปจนกระทั่งเหลือการกระทำเพียงอย่างเดียว เช่น การคำนวณ การเพิ่ม ลบ แก้ไข อย่างใดอย่างหนึ่ง เมื่อนิสิตเชื่อว่าได้แสดงผล รายงานกระบวนการทางธุรกิจ หรือ Transaction ได้ครบถ้วนสมบูรณ์ภายใต้เส้นกระแสข้อมูล เมื่อผู้ใช้พอใจเส้นกระแสข้อมูลไม่จำเป็นต้องแยกย่อยอีกต่อไปแล้ว เมื่อนิสิตเชื่อว่าได้แจกแจง ฟังก์ชันการทำงานย่อยมาจนถึงระดับต่ำที่สุด แล้ว
แผนภาพบริบท (Context Diagram) แสดงเพียง 1 กระบวนการเท่านั้น และจะไม่มีการแสดง แหล่งจัดเก็บข้อมูล
แผนภาพกระแสข้อมูลระดับที่ 0 (Level-0 DFD)
แผนภาพกระแสข้อมูลระดับที่ 1 (Level-1 DFD)
แผนภาพกระแสข้อมูลระดับที่ n (Level-n DFD)
ความสมดุลของแผนภาพกระแสข้อมูล (DFD Balancing) ข้อมูลต้องไม่สูญหาย แต่สามารถเปลี่ยนสภาพไปได้ เมื่อกระบวนการทำงาน ประมวลผลให้ได้ผลลัพธ์อย่างใด อย่างหนึ่งออกมาจากระบบ โดยอาจสามารถเปลี่ยนรูปไปจากเดิมหรือไม่เปลี่ยนก็ได้ความสมดุล หมายถึงจำนวนของข้อมูลเข้า และออก ในระดับแจกแจง (n) ต้องเท่ากับข้อมูลเข้า และออก ในระดับที่สูงกว่า (n-1)
ความไม่สมดุลของแผนภาพกระแสข้อมูล (Unbalanced DFD)
ตัวอย่าง: ความสมดุลของแผนภาพกระแสข้อมูล (DFD Balancing)
ตัวอย่าง: ความสมดุลของแผนภาพกระแสข้อมูล (DFD Balancing) (ต่อ)
การแยกเส้นกระแสข้อมูล (Data Flow Splitting)
แนวทางการวาดแผนภาพกระแสข้อมูล (Guidelines) ความสมบูรณ์ (Completeness) DFD ต้องประกอบด้วยองค์ประกอบที่จำเป็นต่อระบบทั้งหมดแต่ละองค์ประกอบต้องมีการเขียนคำอธิบายความหมาย และรายละเอียดไว้ในพจนานุกรมข้อมูล (Data Dictionary)ความสอดคล้อง (Consistency) การแจกแจงส่วนขยายของสารสนเทศที่อยู่ในระดับหนึ่ง จะต้องประกอบด้วย DFD ย่อยที่มีความสอดคล้องสัมพันธ์กับข้อมูลในระดับอื่นๆ ด้วย
แนวทางการวาดแผนภาพกระแสข้อมูล (Guidelines) ต่อ เวลา(Timing) DFD จะไม่มีการแสดงในเรื่องของเวลาการเขียน DFD ที่ดี คือ การออกแบบระบบที่ไม่มีจุดเริ่มต้นและจุดสิ้นสุด (หมายถึง ระบบต้องมีการไหลข้อมูลอย่างต่อเนื่องจากจุดหนึ่งไปยังอีกจุดหนึ่ง ถ่ายเทไปโดยไม่สิ้นสุด)การออกแบบซ้ำๆ (Iterative Development)นักวิเคราะห์ควรต้องมีการวาดแผนภาพ หลายๆ ครั้ง ก่อนจึงจะได้แผนภาพที่ใกล้เคียงกับระบบงานจริง
การวิเคราะห์ช่องว่าง (Gap Analysis) Using DFDs as Analysis Tools การวิเคราะห์ช่องว่าง (Gap Analysis) คือกระบวนการค้นหาความขัดแย้งระหว่าง 2 หรือหลายๆแผนภาพกระแสข้อมูล หรือแม้แต่ความขัดแย้งของแผนภาพกระแสข้อมูลเดี่ยวๆ ระบบที่ด้อยประสิทธิภาพ สามารถระบุได้ผ่านทาง DFD
การใช้แผนภาพกระแสข้อมูลกับวิศวกรรมซอฟต์แวร์
Context, Level-0 and Level-1, Level-2 DFDs Context diagram Level 0 diagram Level 1 diagram Level 2 diagram
ตัวอย่าง: ผังบริบทของระบบขายซีดี ผ่านอินเทอร์เน็ต
แผนภาพกระแสข้อมูลระดับที่ 0
แผนภาพกระแสข้อมูลระดับที่ 1 กระบวนการที่ 1
ตัวอย่าง: แผนภาพกระแสข้อมูลระดับที่ 1 กระบวนการที่ 1 (ระบบนัดหมาย)
The END