การพัฒนาระบบงานโดยเทคนิคเชิงโครงสร้าง
การวิเคราะห์ระบบงานโดยใช้ DFD Data Flow Diagram (DFD) คือ เทคนิคที่ใช้ในการวิเคราะห์ความต้องการของระบบ โดยใช้รูปภาพแสดงแนวคิดในการวิเคราะห์ระบบว่ามี กระบวนการต่าง ๆ อะไรบ้าง ข้อมูลมาจากแหล่งใดและเคลื่อนย้ายไปยังกระบวนการหรือแหล่งข้อมูลใด จะได้ผลลัพธ์อะไร ออกมาจากที่ไหน และส่งไปถึงใคร
Data Flow Diagram Process Data Store Entity(Source/Sink) Data Flow DeMarco & Yourdon symbols Gane & Sarson symbols
กฎในการเขียน Data Flow Diagram ผิด ถูก Process ไม่สามารถมีเฉพาะข้อมูลออก(output)อย่างเดียวเท่านั้น ต้องมีทั้งข้อมูลเข้า(input) และข้อมูลออก
กฎในการเขียน Data Flow Diagram ผิด ถูก Process ไม่สามารถมีเฉพาะข้อมูลเข้า(input)อย่างเดียวเท่านั้น ต้องมีทั้งข้อมูลเข้า(input) และข้อมูลออก
กฎในการเขียน Data Flow Diagram ผิด ถูก ข้อมูลไม่สามารถเคลื่อนย้ายจาก Data store หนึ่งไปยังอีกData storeหนึ่งได้โดยตรง ข้อมูลต้องถูกย้ายโดย Process
กฎในการเขียน Data Flow Diagram ผิด ถูก ข้อมูลไม่สามารถเคลื่อนย้ายจากแหล่งข้อมูลภายนอกระบบ(Entity) เข้าไปยัง Data store ได้โดยตรง ข้อมูลต้องผ่าน Process การรับข้อมูลจากภายนอกแล้วย้ายไปจัดเก็บใน Data store
กฎในการเขียน Data Flow Diagram ผิด ถูก ข้อมูลไม่สามารถเคลื่อนย้ายจาก Data store ออกไปยังแหล่งรับข้อมูลภายนอก(Entity) ได้โดยตรง ต้องมี Process เพื่อย้ายข้อมูลออก
กฎในการเขียน Data Flow Diagram ผิด ถูก ข้อมูลไม่สามารถเคลื่อนย้ายจาก Entity ไปยัง Entity ได้โดยตรง ต้องมี Process เพื่อส่งต่อข้อมูล ***แต่ถ้าข้อมูลนั้นไม่ได้เกี่ยวข้องกับระบบงาน ก็ไม่จำเป็นต้องแสดงข้อมูลนั้นใน DFD
กฎในการเขียน Data Flow Diagram ผิด ถูก Data flow จะมีทิศทางใดทิศทางหนึ่งระหว่างแต่ละสัญลักษณ์ ถึงแม้ว่าข้อมูลเดียวกันจะเข้าและออกจาก Process ไปยัง Data store เช่น การดึงข้อมูลจาก Data store มาแก้ไขแล้วจัดเก็บลงที่เดิม แต่ข้อมูลก็ถูกใช้งานคนละเวลากัน ไม่ได้เกิดขึ้นพร้อมกัน
กฎในการเขียน Data Flow Diagram B A ผิด ถูก เส้นข้อมูลที่แยกจากเส้นเดียวกัน หมายถึงข้อมูลเดียวกันที่ออกจากแหล่งเดียวกันออกไปยัง หลาย ๆ Process / Data store / Entity
กฎในการเขียน Data Flow Diagram B A ผิด ถูก เส้นข้อมูลที่รวมเป็นเส้นเดียวกัน หมายถึงข้อมูลเดียวกันที่มาจากหลาย ๆ Process / Data store / Entity เพื่อเข้าไปยังที่เดียวกัน
กฎในการเขียน Data Flow Diagram B A A A C ผิด ถูก ข้อมูลไม่สามารถเคลื่อนย้ายโดยตรงออกจาก Process เข้ามายัง Process เดียวกันได้ ซึ่งจำเป็นต้องมี Process อย่างน้อย 1 Process ในการจัดการข้อมูลนั้น ๆ เพื่อสร้างข้อมูลอื่น ๆ หรืออาจจะส่งข้อมูลเดิมกลับมายัง Process เดิมได้
กฎในการเขียน Data Flow Diagram ข้อความที่อยู่ใน Process ต้องเป็นคำกริยาเพื่อบอกการทำงานของ Process นั้น ข้อความที่อยู่ใน Data store / Data flow / Entity ต้องเป็นคำนาม Data flow ที่ชี้เข้า Data store หมายถึง การนำข้อมูลนั้นไปจัดเก็บ(เพิ่ม/ลบ/แก้ไข) Data flow ที่ออกมาจาก Sata store หมายถึงการดึงข้อมูลออกมาใช้งาน ปรับปรุงข้อมูล นักศึกษา 1 ข้อมูลนักศึกษา ที่ปรับปรุงแล้ว นักศึกษา ข้อมูลนักศึกษา ที่ต้องการปรับปรุง แฟ้มข้อมูลนักศึกษา D1 ข้อมูลนักศึกษา ก่อนปรับปรุง
ตัวอย่าง Data Flow Diagram Input A System Name Entity 1 Output C Context Diagram Entity 3 Input B Entity 2 General Process AAA 1 General Process BBB 2 Output C Entity 3 Entity 1 Input A Data flow B Data flow C Record A Record E D1 Data store 1 D2 Data store 2 Record A Record E General Process CCC 3 General Process DDD 4 Entity 2 Input B Data flow D
ตัวอย่างของ Data Flow Diagram ที่ไม่สมดุล A B Entity 1 Entity 2 Context Diagram 1.0 A Entity 1 Formatted C ข้อมูล C ไม่มีใน Context Diagram Formatted A ข้อมูล D ไม่มีใน Context Diagram 2.0 C B Entity 3 D Entity 2 Entity 3 ไม่มีใน Context Diagram DFD Level 0
Logical และ Physical DFD Logical DFD จะสนใจเฉพาะกระบวนการทำงานของระบบ ข้อมูลที่จำเป็นต้องใช้ในกระบวนการต่าง ๆ และกระบวนการต่าง ๆ มีการสร้างสารสนเทศอะไรบ้าง โดยไม่สนใจว่าระบบจะถูกสร้างมาอย่างไร Physical DFD จะมุ่งเน้นแสดงวิธีการดำเนินงานว่าทำอย่างไร โดยรวมถึงส่วนฮาร์ดแวร์ , ซอฟต์แวร์ , แฟ้มข้อมูล และคนที่เกี่ยวข้องกับระบบ
ตัวอย่าง Logical DFD ลูกค้า ลูกค้า 1 4 D1 ราคาสินค้า 2 3 รับข้อมูล รายการสินค้าที่ต้องการซื้อ การชำระเงิน ใบเสร็จรับเงิน รับข้อมูล สินค้า 1 พิมพ์ใบเสร็จ 4 D1 ราคาสินค้า ราคาสินค้า ตรวจสอบ ราคา 2 คำนวณ ราคารวม 3 รหัสสินค้า ข้อมูลสินค้า และราคา ราคาสินค้า ที่ต้องชำระ
ตัวอย่าง Physical DFD ลูกค้า ลูกค้า 1 4 D1 D2 2 3 คำนวณ ราคารวม รายการสินค้าที่ต้องการซื้อ เงินสด ,เช็ค หรือบัตรเดบิต ใบเสร็จรับเงิน รับข้อมูล สินค้าด้วยเครื่อง อ่านบาร์โค๊ด 1 ตรวจรับเงิน และออกใบเสร็จ ให้ลูกค้า 4 D1 แฟ้มราคาสินค้า D2 แฟ้มรายการชั่วคราว ข้อมูลสินค้า ,ราคาและ ราคารวม รหัสบาร์โค๊ด สินค้า ข้อมูลสินค้าและ ราคาสินค้า ข้อมูลสินค้า และราคา ตรวจสอบรหัส และราคาใน แฟ้มข้อมูล 2 คำนวณ ราคารวม 3 รหัสบาร์โค๊ด สินค้า ข้อมูลสินค้า และราคา จำนวนเงิน ที่ต้องชำระ
ตัวอย่าง Data Flow Diagram ระบบสั่งซื้อ VCD ผู้จัดการร้าน ข้อมูลVCD รายงานการบริหารงาน ข้อมูลลูกค้าใหม่ ระบบร้านเช่าVCD รายการVCD ที่ต้องการเช่า ใบเสร็จค่าเช่า ลูกค้า ลูกค้า รหัสลูกค้า บัตรสมาชิก การชำระเงิน จดหมายข่าว รายเดือน ข้อมูลการคืนVCD จดหมายข่าวรายปี ฝ่ายบัญชี จำนวนเงินสด ที่ได้รับทั้งหมด Context Diagram ของระบบร้านเช่า VCD
ลูกค้า ฝ่ายบัญชี ลูกค้า ใบเสร็จค่าเช่า รายการVCD ที่ต้องการเช่า เช่า VCD 1 สร้างรายงาน การบริหารงาน 2 ลูกค้า รหัสลูกค้า ข้อมูลการเช่า รายงานการ บริหารงาน ผู้จัดการร้าน การชำระเงิน รายการชำระเงิน รายการชำระเงิน ข้อมูลVCD ข้อมูล ลูกค้า ข้อมูล ลูกค้า คำนวณ จำนวนเงิน จากใบเสร็จ 4 จำนวนเงินสด ที่ได้รับทั้งหมด D1 ลูกค้า ฝ่ายบัญชี ระบบสั่งซื้อ VCD ข้อมูลลูกค้า บันทึกข้อมูล การคืนVCD 3 ข้อมูลการคืนVCD ลูกค้า ข้อมูลลูกค้าใหม่ บัตรสมาชิก เพิ่มข้อมูล ลูกค้าใหม่ 5 สร้างจดหมาย ข่าวรายเดือน 6 สร้างจดหมาย ข่าวรายปี 7 จดหมายข่าวรายเดือน จดหมายข่าวรายปี ข้อมูลลูกค้า ข้อมูลลูกค้า ข้อมูลลูกค้า D1 ลูกค้า DFD Level 0 ของระบบร้านเช่า VCD
DFD Level 1 ของ Process 1.0 เช่า VCD การชำระเงิน รายการVCDที่เช่า ข้อมูลการเช่า รับรายการ VCD 1.1 รับรายการ ชำระเงิน ของลูกค้า 1.2 ข้อมูลการเช่า รายการชำระเงิน ข้อมูลVCD ข้อมูลการเช่า ข้อมูลการเช่า ปรับปรุงข้อมูล ลูกค้า 1.3 สร้างใบเสร็จ ค่าเช่า 1.4 ใบเสร็จค่าเช่า ชื่อลูกค้าและที่อยู่ ข้อมูลลูกค้า ข้อมูลลูกค้า ค้นหาข้อมูล ลูกค้า 1.5 ข้อมูลลูกค้า D1 ลูกค้า รหัสลูกค้า DFD Level 1 ของ Process 1.0 เช่า VCD