ระบบ (System) คือกลุ่มขององค์ประกอบต่างๆ ที่ทำงานร่วมกันเพื่อจุดประสงค์อันเดียวกัน ระบบอาจจะประกอบด้วย บุคคลากร เครื่องมือ เครื่องใช้ พัสดุ วิธีการ ซึ่งทั้งหมดนี้จะต้องมีระบบจัดการอันหนึ่ง เพื่อให้บรรลุจุดประสงค์อันเดียวกัน เช่น ระบบการเรียนการสอน มีจุดประสงค์เพื่อให้นักเรียนได้รับความรู้ในเนื้อหาวิชาที่สอน
การวิเคราะห์ระบบ (System Analysis) คือ การหาขอบเขต (Scope) และความต้องการ (Requirements) ของระบบสารสนเทศว่าคืออะไร หรือต้องการเพิ่มเติมอะไรเข้ามาในระบบ
การออกแบบระบบ (System Design) คือ การนำสิ่งที่วิเคราะห์ระบบมาแล้ว นำมาเขียนเป็นแผนภาพแสดงกระแสข้อมูล
แผนภาพแสดงกระแสข้อมูล (Data Flow Diagram : DFD) คือ เครื่องมือที่ใช้ในการเขียนระบบเป็นแผนภาพตามที่วิเคราะห์ระบบไว้แล้ว เพื่อสื่อให้นักโปรแกรมเมอร์ได้เข้าใจกระบวนการทำงานของระบบได้ง่ายขึ้น
นักวิเคราะห์ระบบ (System analyst) คือ มีหน้าที่วางแผน ออกแบบ และวิเคราะห์งานคอมพิวเตอร์ นักวิเคราะห์ระบบจะทำงานร่วมกับผู้ใช้งานและโปรแกรมเมอร์ โดยการสอบถามความต้องการของผู้ใช้ ว่าต้องการโปรแกรมหรือ
ระบบงานคอมพิวเตอร์ในลักษณะใด จากนั้นนักวิเคราะห์ระบบจะทำการวิเคราะห์และออกแบบระบบงานคอมพิวเตอร์ ให้ตรงกับความต้องการของผู้ใช้เพื่อมอบให้นักเขียนโปรแกรมทำการเขียนโปรแกรม เพื่อนำมาพัฒนาเป็นระบบงานต่อไป นักวิเคราะห์ระบบที่ดีควรจะต้องมีความรู้พื้นฐานในการเขียนโปรแกรมด้วย
ขั้นตอนการวิเคราะห์และออกแบบระบบเบื้องต้นในระดับภาพรวม
1.การวิเคราะห์ขอบเขตของระบบ
1.1 วิเคราะห์ขอบเขตของระบบ (Scope) คือ การกำหนดระบบงานหลักในภาพรวม หรือระบบงานกว้างๆ ว่าเราต้องจะทำอะไรที่มีจุดประสงค์เป็นอันหนึ่งอันเดียวกัน
1.2 วิเคราะห์สิ่งที่อยู่นอกระบบ (External ) คือ การวิเคราะห์องค์ประกอบที่อยู่นอกขอบเขตของระบบว่ามีองค์ประกอบใดบ้าง ซึ่งเราจะไม่สนใจการทำงานนอกระบบที่ไม่ต้องการ แต่องค์ประกอบเหล่านี้มีการติดต่อกันระหว่างระบบภายในระบบกับภายนอกระบบ หากเราไม่สามารถวิเคราะห์ External เนื่องจากขาดประสบการณ์ในการวิเคราะห์ระบบ อาจจะกำหนดให้ External นี้คือ ผู้ใช้งานทั่วไป (User) ก็ได้
2. การออกแบบระบบ
การเขียน DFD ของ Context Diagram หรือการเขียนขอบเขตของระบบ คือ การตั้งชื่อขอบเขตของระบบมากำหนดข้อมูล (Data) และสารสนเทศ (Information) ว่ามีการนำข้อมูลนำเข้ามาในระบบมีอะไรบ้าง และเมื่อข้อมูลนั้นผ่านกระบวนการต่างๆ แล้วจะออกมาเป็นผลลัพธ์อะไรบ้าง ในลักษณะสารสนเทศอย่างไร ดังรูปแบบการเขียนดังนี้
![]() |
นางสาวธารทิพย์ โลหณุต (แพร)
พอดีไปเจอมาน่ะ วิธีสร้าง DFD
ตอบลบ1. กำหนดสิ่งที่อยู่นอกระบบทั้งหมด และหาว่าข้อมูลอะไรบ้างที่เข้าสู่ระบบหรือออกจากระบบที่เราสนใจเข้าสู่ระบบที่อยู่ภายนอก ขั้นตอนนี้สำคัญมากเพราะจะทำให้ทราบว่าขอบเขตของระบบนั้นมีอะไรบ้าง
2. ใช้ข้อมูลที่ได้จากขั้นตอนที่ 1 นำมาสร้าง DFD ต่างระดับ
3. ขั้นตอนต่อมามีอีก 4 ขั้นตอน โดยให้ทำทั้ง 4 ขั้นตอนนี้ซ้ำหลาย ๆ ครั้ง จนกระทั่งได้ DFD ระดับต่ำสุด
• เขียน DFD ฉบับแรก กำหนดโพรเซสและข้อมูลที่ไหลเข้าออกจากโพรเซส
• เขียน DFD อื่นๆ ที่เป็นไปได้จนกระทั่ง DFD ที่ถูกที่สุด ถ้ามีส่วนหนึ่งส่วนใดที่รู้สึกไม่ง่ายนักก็พยายามเขียนใหม่อีกครั้งหนึ่ง แต่ไม่ควรเสียเวลาเขียนจนกระทั่งได้ DFD ที่สมบูรณ์แบบ เลือก DFD ที่เห็นว่าดีที่สุดในสายตาของเรา
• พยายามหาว่ามีข้อผิดพลาดอะไรหรือไม่ ซึ่งมีรายละเอียดในหัวข้อ "ข้อผิดพลาดใน DFD"
เขียนแผนภาพแต่ละภาพอย่างดี ซึ่งDFD
ฉบับนี้จะใช้ต่อไปในการออกแบบและใช้ด้วยกันกับบุคคลอื่นๆที่เกี่ยวข้องในโครงการด้วย
4. นำแผนภาพทั้งหมดที่เขียนมาแล้วเรียงลำดับ ทำสำเนา แล้วพร้อมที่จะนำไปตรวจสอบข้อผิดพลาดกับผู้ร่วมทีมงาน ถ้ามีแผนภาพใดที่มีจุดอ่อนให้กลับไปเริ่มต้นใหม่ที่ขั้นตอนที่ 3 อีกครั้งหนึ่ง
5. นำ DFD ที่ได้ไปตรวจสอบข้อผิดพลาดกับผู้ใช้ระบบเพื่อหาว่ามีแผนภาพใดไม่ถูกต้องหรือไม่
6. ผลิตแผนภาพฉบับสุดท้ายทั้งหมด
โดย นางสาวณัฐธีรดา ละดาดก (นิด)
ข้อผิดพลาดใน DFD
ตอบลบการเขียน DFD อาจเขียนได้หลายแบบ ผลลัพธ์ฉบับสุดท้ายอาจจะไม่เหมือนกันถ้าเขียนโดยนักวิเคราะห์ระบบคนละคน ถึงอย่างไรแนวทางการเขียน DFD ซึ่งจะช่วยให้เราเขียน DFD ได้ถูกต้องมากขึ้นก็มีอยู่บ้าง ซึ่งพอสรุปได้ดังนี้
1. ถ้า DFD ซับซ้อนมาก ทุกๆ นิ้วในกระดาษถูกใช้งานหมด แสดงว่า DFD นั้นควรแตกย่อยไปอีกระดับหนึ่งหรือมากกว่าหนึ่ง
2. ข้อมูลที่ออกจากโพรเซส หรือผลลัพธ์มีข้อมูลขาเข้าไม่เพียงพอ เราจะต้องพิจารณาแผนภาพต่อไปอีก แต่ที่สำคัญไม่ควรใส่ข้อมูลที่แคบใช้เข้ามาในโพรเซสเป็นอันขาด
3. การตั้งชื่อโพรเซสนั้นไม่ง่ายนัก อาจจะมีปัญหา 2 อย่าง คือ โพรเซสนั้นควรจะแยกออกเป็น 2 ส่วน หรือเราไม่ทราบว่ามีอะไรว่ามีอะไรเกิดขึ้นบ้างในโพรเซสนั้น ๆ ในกรณีนี้เราต้องศึกษาระบบให้ละเอียดยิ่งขึ้น
4. จำนวนระดับในแต่ละแผนภาพแตกต่างกันมาก เช่น โพรเซสที่ 1 มีลูก 2 ชั้น แต่โพรเซสที่ 2 มีลูก 10 ชั้น แสดงว่าการแบ่งจำนวนโพรเซสไม่ดีนัก จำนวนลูกโพรเซสไม่จำเป็นต้องเท่ากัน แต่ไม่ควรจะแตกกันมากนัก
5. มีการแตกแยกย่อยข้อมูล รวมตัวกันของข้อมูล หรือมีการตัดสินใจในโพรเซส แสดงว่าโพรเซสนั้นไม่ถูกต้อง การแยกข้อมูลหรือรวมตัวของข้อมูลเป็นหน้าที่ของพจนานุกรมข้อมูล การตัดสินใจเป็นรายละเอียดอยู่ในคำอธิบายโพรเซส
ศกุนตรา โชติเทียน (หญิง)
Data Flow Diagram มีประโยชน์อย่างมาก คือ สามารถใช้ได้อย่างอิสระในการวิเคราะห์ ระบบโดยไม่ต้องมีเทคนิคอื่นมาช่วย เนื่องจากสามารถใช้สัญลักษณ์ต่าง ๆ แทนสิ่งที่วิเคราะห์นั้นได้ และง่ายต่อการแสดงความสัมพันธ์ ระหว่างระบบย่อยกับระบบใหญ่ให้เห็นชัดเจน ซึ่งทำให้ผู้ใช้ แผนภาพนั้นเข้าใจความสัมพันธ์ต่าง ๆ ได้สะดวก ช่วยให้การวิเคราะห์เป็นไปได้ โดยง่ายและมีความเข้าใจตรงกันระหว่างผู้วิเคราะห์ระบบกับ โปรแกรมเมอร์ หรือระหว่างผู้วิเคราะห์กับผู้ใช้ระบบ โดยทำให้เห็นถึงข้อมูล และขั้นตอนต่าง ๆ ของระบบเป็นแผนภาพการไหลของข้อมูล
ตอบลบโดย นางสาวน้ำผึ้ง รักแดง (ลูกน้ำ)
Data Flow Diagram มีประโยชน์มาก และมีหลากหลายรูปแบบขึ้นอยู่กับผู้ใช้ ซึ่งจะช่วยอำนวยความสะดวกในการวิเคราะห์โปรแกรมได้เป็นอย่างดี เป็นสิ่งที่ควรศึกษาหาความรู้เพิ่มเติม
ตอบลบBy กันต์ อึงรัตนากร (กัน)
(เพิ่มเติม) สิ่งที่ควรทราบเกี่ยวกับการเขียน 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 ระดับแม่และลูก ยกเว้นสำเนาของรายงาน
น.ส. ศุภญานี แต้มคุณ (มุก)