บทที่ 6 การวิเคราะห์และออกแบบระบบเชิงโครงสร้าง
สรุปหนังสือวิศวกรรมซอฟแวร์:สุวรรณี อัศวกุลชัย
การวิเคราะห์และออกแบบระบบเป็นกระบวนการเชิงโครงสร้างที่ใช้สำหรับพัฒนาระบบสารสนเทศเพื่อนำไปใช้ในการแก้ปัญหาต่างๆ
แผนภาพการไหลของข้อมูล (DATA FLOW DIAGRAM, DFD)
แผนภาพการไหลของข้อมูล (DATA FLOW DIAGRAM, DFD) เป็นเครื่องมือช่วยให้นักวิเคราะห์ระบบเข้าใจถึงกระบวนการทำงานของแต่ระระบบย่อยโดยมีวัตถุประสงค์เพื่อทำความเข้าใจกับผู้เกี่ยวข้องรวมถึงอ้างอิงการพัฒนาในอนาคต ซึ่งในแผนภาพการไหลของข้อมูลมีส่วนประกอบดังนี้
- การประมวลผล (process) คือกระบวนการในการเปลี่ยนแปลงรูปแบบของข้อมูลจากลักษณ์หนึ่งไปสิ่งหนึ่งลักษณ์หนึ่ง
2.เส้นทางการไหลของข้อมูล (Data flow) แสดงถึงการเคลื่อนที่ของข้อมูล
3.แหล่งเก็บข้อมูล (data store)คือที่รวบรวมข้อมูลหลังจากประมวลผลแล้วเพื่อใช้ในการผลิตสารสนเทศต่อไป
4.แหล่งประมวณผลภายนอก (External entity) คือสิ่งต่างๆภายนอกระบบอาทิคน หน่วยงาน
ข้อกำหนดการเขียนแผนภาพการไหลของข้อมูล
1. สัญลักษณ์ของแผนภาพไม่สามารถเชื่อต่อกันได้โดยตรงจำเป็นต้องมีการไหลเพื่อบอกทิศทางการไหล
2. การไหลของข้อมูลทุกครั้งต้องผ่านการประมวลผลก่อนทุกครั้ง
3. จำนวนข้อมูลต้องเท่ากันตั้งแต่ต้นจนจบ
Logical data flow และ Physical data flow
Logical data flow เป็นแผนภาพการไหลของข้อมูล แสดงกระบวนการของระบบในระดับแนวคิด เพื่อแสดงการไหลของระบบงาน
Physical data flow เป็นแผนภาพการไหลของข้อมูล แสดงกระบวนการของระบบในระดับแนวคิด เพื่อแก้ปัญหาหรือปรับปรุงการทำงานให้ดีขึ้น
ขั้นตอนการเขียนแผนภาพการไหลของข้อมูล
- สร้างภาพรวมของระบบโดยการเขียนแผนภาพการไหลของข้อมูลเบื้องต้น (Context diagram) ที่แสดงให้เห็นถึงเอนทิตีต่างๆ โดยยังไม่มี ที่จัดเก็บข้อมูล
2. แตกกระบวนการหลักให้เป็นกระบวนการย่อยๆ โดยเพิ่มการประมวลผลของระบบและที่เก็บข้อมูล
3. ถ้าหากมีรายละเอียดของกระบวนการย่อยจากขั้นตอนที่ 2 ให้ย่อยลงมฃไปเรื่อย จนสามารถเข้าใจได้ง่าย
4. ตรวจสอบข้อผิดพลาดของข้อมูลในแผนภาพการไหล
5. ตรวจสอบสมดุลของข้อมูลเข้าและออก
6. พัฒนารูปแบบจาก แผนภูมิ Logical data flow ให้ไปอยู่ในรูปแบบ แผนภูมิ Physical data flow
7. ทำการแบ่งส่วนของแผนภูมิ Physical data flow โดยการแบ่งเป็นระบบย่อย เพื่อความสะดวกในการพัฒนาโปรแกรม
การตรวจสอบความถูกต้องของแผนภาพการไหลของข้อมูล
การตรวจสอบความถูกต้องของแผนภาพการไหลของข้อมูลเป็นหัวใจสำคัญ ของการออกแบบระบบ เพราะหากแผนภาพมีข้อผิดพลาดหรือบกพร่องในขั้นตอนการออกแบบแผนภาพอาจส่งผลต่อความสำเร็จของการพัฒนาระบบได้เลยโดยมีข้อสังเกตที่สำคัญดังนี้
1. ถ้า DFD มีความซับซ้อนมสูง ควรแตก DFD เป็นระดับย่อยๆ
2. ไม่ควรใส่ข้อมูลที่ไม่มีการใช้ในระบบ
3. จำนวนระดับย่อยในแต่ละแผนภาพไม่ควรมีความแตกต่างกันมากเกินไป
พจนานุกรมข้อมูล (Data dictionary)
ในการพัฒนาโปรแกรมมักจะพัฒนาเป็นทีมดังนั้นเพื่อให้ทีมงานเข้าใจข้อมูลแต่ละส่วนตรงกันจึงจำเป็นต้องมี สิ่งที่เรียกว่า พจนานุกรมข้อมูล (Data dictionary)ซึ่งคือเอกสารแสดงรายละเอียดของข้อมูลทั้งหมดของระบบ นอกจากนั้น พจนานุกรมข้อมูล ยังมีประโยชน์อย่างมากเมื่อในอนาคตระบบจำเป็นต้องปรับปรุงแก้ไขหรือเชื่อมต่อข้อมูลกับระบบอื่น พจนานุกรมข้อมูล จะทำให้ผู้พัฒนาอื่นสามารถเข้าใจระบบได้เลย โดยปกติพจนานุกรมข้อมูลจะประกอบด้วย 5 ส่วนดังต่อไปนี้
1. ชื่อข้อมูล (Name and aliases of the data item)
2. คำอธิบายข้อมูล (Description of the data item)
3. ชนิดของข้อมูล (Data type)
4. ขนาดของข้อมูล (Length of Item )
5. หมายเหตุ (Other additional information)
การอธิบายข้อกำหนดของกระบวนการ (Process speciation)
การอธิบายข้อกำหนดของกระบวนการ (Process speciation) มีขึ้นเพื่อ ทำให้ผู้อื่นสามารถเข้าใจการประมวลผลรายละเอียดต่างๆ โดยเฉพาะการสือสารระหว่าง นักวิเคราะห์ระบบและ ผู้เขียนโปรแกรม เนื่องจากในการพูดคุยอาจทำให้อีกฝ่ายเข้าใจไม่ตรงกัน การมีการอธิบายข้อกำหนดของกระบวนการ (Process speciation)จะทำให้เข้าใจตรงกันมากขึ้น สุดท้าย การอธิบายข้อกำหนดของกระบวนการ (Process speciation) ยังทำให้สามารถตรวจสอบความถูกต้องของการออกแบบระบบได้ด้วย โดยในการอธิบายข้อกำหนดของกระบวนการ (Process speciation) มีด้วยกันสามแนวทางดังนี้
1. โครงสร้างภาษา หรือ pseudo code แสดง การอธิบายการประมวลผลที่ปรากฏอยู่บน DFD โดยมีรูปแบบการเขียนโครงสร้างภาษาที่เข้าใจง่ายคล้ายกับ การเขียนปรแกรมแบบโครงสร้างซึ่งมีการทำงาน 3 ส่วนดังนี้
a. แบบตามลำดับ เป็นประโยคที่แสดงให้เห็นถึงการทำงานที่ละขั้นตอนอย่างชัดเจน โดยไม่มีเงือนไขใดๆ
b. แบบมีเงือนไข อธิบายการประมวลผลที่มีข้อกำหนดตามแต่ละเงือนไขที่กำหนดโดยแบ่งย่อยได้ดังนี้
i. If-then-else จะเกิดขึ้นเมื่อเงื่อนไขมีเพียงสองทางเลือกเท่านั้น คือจะดำเนินการเมื่อเงือนไขเป็นจริงหรือไม่ดำเนินการเมื่อเงือนไขเป็เท็จ
ii. Case ใช้เมื่อเงือนไขมีความเป็นไปได้มากกว่าสอง กรณี โดยจะอธิบายเมื่อเหตุการณืต่างๆเกิดจะให้ระบบทำอะไร
iii. การทำซ้ำ เป็นโครงสร้างแบบมีเงือนไขที่ทำซ้ำไปเรื่อยๆ ภายใต้เงื่อนไขที่ระบุ
2. ตารางการตัดสินใจ ตารางการตัดสินใจ (Decision table) เป็นเครื่องมือที่ใช้แสดงเงื่อนไขการตัดสินใจ และการเลือกการทำงานหรือกระทำกิจกรรมใต้เหตุการณ์ของเงื่อนไขที่ระบุ เช่นเดียวกับต้นไม้การตัดสินใจ แต่ตารางการตัดสินใจเป็นลักษณะตาราง
3. แผนภาพต้นไม้ตัดสินใจ เป็นแผนภาพที่ใช้อธิบายการประมวลผลภายใต้เงื่อนไขต่างๆ โครงสร้างการอธิบายจะอยู่ในรูปแบบ node เเชื่อมต่อกับเงื่อนไข