5.3 วิธีสร้าง DFD
1. กำหนดสิ่งที่อยู่นอกระบบทั้งหมด และหาว่าข้อมูลอะไรบ้างที่เข้าสู่ระบบหรือออกจากระบบที่เราสนใจเข้าสู่ระบบที่อยู่ภายนอก
ขั้นตอนนี้สำคัญมากเพราะจะทำให้ทราบว่าขอบเขตของระบบนั้นมีอะไรบ้าง
2. ใช้ข้อมูลที่ได้จากขั้นตอนที่ 1 นำมาสร้าง DFD ต่างระดับ
3. ขั้นตอนต่อมามีอีก 4 ขั้นตอน โดยให้ทำทั้ง 4 ขั้นตอนนี้ซ้ำหลาย ๆ ครั้ง จนกระทั่งได้
DFD ระดับต่ำสุด
เขียน DFD ฉบับแรก กำหนดโพรเซสและข้อมูลที่ไหลเข้าออกจากโพรเซส
เขียน DFD อื่นๆ ที่เป็นไปได้จนกระทั่ง DFD ที่ถูกที่สุด
ถ้ามีส่วนหนึ่งส่วนใดที่รู้สึกไม่ง่ายนักก็พยายามเขียนใหม่อีกครั้งหนึ่ง แต่ไม่ควรเสียเวลาเขียนจนกระทั่งได้
DFD ที่สมบูรณ์แบบ เลือก DFD ที่เห็นว่าดีที่สุดในสายตาของเรา
พยายามหาว่ามีข้อผิดพลาดอะไรหรือไม่ ซึ่งมีรายละเอียดในหัวข้อ
"ข้อผิดพลาดใน DFD"
3.4 เขียนแผนภาพแต่ละภาพอย่างดี ซึ่งDFD ฉบับนี้จะใช้ต่อไปในการออกแบบและใช้ด้วยกันกับบุคคลอื่นๆที่เกี่ยวข้องในโครงการด้วย
4. นำแผนภาพทั้งหมดที่เขียนมาแล้วเรียงลำดับ ทำสำเนา แล้วพร้อมที่จะนำไปตรวจสอบข้อผิดพลาดกับผู้ร่วมทีมงาน
ถ้ามีแผนภาพใดที่มีจุดอ่อนให้กลับไปเริ่มต้นใหม่ที่ขั้นตอนที่ 3 อีกครั้งหนึ่ง
5. นำ DFD ที่ได้ไปตรวจสอบข้อผิดพลาดกับผู้ใช้ระบบเพื่อหาว่ามีแผนภาพใดไม่ถูกต้องหรือไม่
6. ผลิตแผนภาพฉบับสุดท้ายทั้งหมด
ข้อผิดพลาดใน DFD
การเขียน DFD อาจเขียนได้หลายแบบ ผลลัพธ์ฉบับสุดท้ายอาจจะไม่เหมือนกันถ้าเขียนโดยนักวิเคราะห์ระบบคนละคน
ถึงอย่างไรแนวทางการเขียน DFD ซึ่งจะช่วยให้เราเขียน DFD ได้ถูกต้องมากขึ้นก็มีอยู่บ้าง
ซึ่งพอสรุปได้ดังนี้
1. ถ้า DFD ซับซ้อนมาก ทุกๆ นิ้วในกระดาษถูกใช้งานหมด แสดงว่า DFD นั้นควรแตกย่อยไปอีกระดับหนึ่งหรือมากกว่าหนึ่ง
2. ข้อมูลที่ออกจากโพรเซส หรือผลลัพธ์มีข้อมูลขาเข้าไม่เพียงพอ เราจะต้องพิจารณาแผนภาพต่อไปอีก
แต่ที่สำคัญไม่ควรใส่ข้อมูลที่แคบใช้เข้ามาในโพรเซสเป็นอันขาด
3. การตั้งชื่อโพรเซสนั้นไม่ง่ายนัก อาจจะมีปัญหา 2 อย่าง คือ โพรเซสนั้นควรจะแยกออกเป็น
2 ส่วน หรือเราไม่ทราบว่ามีอะไรว่ามีอะไรเกิดขึ้นบ้างในโพรเซสนั้น ๆ ในกรณีนี้เราต้องศึกษาระบบให้ละเอียดยิ่งขึ้น
4. จำนวนระดับในแต่ละแผนภาพแตกต่างกันมาก เช่น โพรเซสที่ 1 มีลูก 2 ชั้น แต่โพรเซสที่
2 มีลูก 10 ชั้น แสดงว่าการแบ่งจำนวนโพรเซสไม่ดีนัก จำนวนลูกโพรเซสไม่จำเป็นต้องเท่ากัน
แต่ไม่ควรจะแตกกันมากนัก
5. มีการแตกแยกย่อยข้อมูล รวมตัวกันของข้อมูล หรือมีการตัดสินใจในโพรเซส แสดงว่าโพรเซสนั้นไม่ถูกต้อง
การแยกข้อมูลหรือรวมตัวของข้อมูลเป็นหน้าที่ของพจนานุกรมข้อมูล การตัดสินใจเป็นรายละเอียดอยู่ในคำอธิบายโพรเซส
สรุปข้อควรทราบเกี่ยวกับการเขียน
DFD
- External Entity หรือ Terminators ควรจะอยู่ซ้ายมือถ้าเป็นแหล่งอินพุต และอยู่ขวามือถ้าเป็นที่รับเอาต์พุต
- External Entity หรือ Terminators ไม่สามารถเชื่อมต่อกันได้โดยตรงโดยไม่ผ่านกระบวนการหรือโพรเซสใดๆ
- Data Store จะไม่ปรากฏอยู่ใน DFD ระดับสูงสุด (Context Diagram) แต่จะปรากฏอยู่ในการเขียนแผนภาพการไหลของข้อมูลหรือ
DFD ในระดับ 1 ลงไป
- ในระดับที่ต่ำลงมา Data Store จะปรากฎก็ต่อเมื่อมีการเรียกใช้จากโพรเซสใดโพรเซสหนึ่งเท่านั้น
- Data Store อาจถูกใช้เป็นตัวเชื่อมโพรเซสก็ได้ถ้าเหมาะสม
- Data Store ไม่สามารถเชื่อมต่อกันได้โดยตรงถ้าไม่ผ่านกระบวนการหรือโพรเซสใดๆ
- การตั้งชื่อโพรเซสต้องเป็นคำกริยาตามด้วยคำนาม ที่มีความหมายตรงกับหน้าที่ของโพรเซสนั้นๆ
ยกเว้นโพรเซสในระดับ Contex Diagram อนุญาตให้เป็นคำนามได้
- ใน DFD ทุกๆ แผนภาพ ควรจะมีจำนวนโพรเซสเพียง 2 -7 โพรเซส อาจจะมีมากกว่านี้ได้ถ้าจำเป็น
- จำนวน DFD ระดับลูกถัดจากระดับสูงสุด ควรจะมีอย่างน้อย 2 ระดับ ถ้าให้ดีควรจะเป็น
3 หรือมากกว่า
- ไม่ควรตั้งชื่อโพรเซสโดยใช้คำที่มีความหมายกว้างเกินไป เช่น แก้ไข จัดรูปแบบ
ควรจะมีคำนามตามมาเพื่อระบุกระบวนการทำงานที่ชัดเจนลงไป
- หลีกเลี่ยงการรวมการทำงานหนึ่งๆ ที่เหมือนกันแต่ต่างเวลากันเป็นโพรเซสเดียว
- ตั้งชื่อ Data Flow ที่แตกต่างกันให้เข้าใจความหมายที่เข้าใจง่าย
- การตั้งชื่อ Data Flow ตามที่ข้อมูลได้เปลี่ยนแปลงไปหลังจากออกมาจากโพรเซส
- ข้อมูลที่เข้ามาหรืออกจากโพรเซสไม่จำเป็นต้องมีชื่อกำกับก็ได้
- ข้อมูลจะต้องสมดุลกันระหว่าง DFD ระดับแม่และลูก ยกเว้นสำเนาของรายงาน