การวิเคราะห์


นักวิเคราะห์ระบบ คือ ผู้ที่เป็นตัวกลางในการติดต่อระหว่างระบบสารสนเทศกับกลุ่มผู้เกี่ยวข้อง ได้แก่ เจ้าของระบบ (System Owners) ผู้ใช้ระบบ (System Users) และผู้สร้างระบบ (System Builders) เพื่อพัฒนาระบบสารสนเทศขององค์กรขึ้นมา ทั้งนี้หน้าที่หลักของนักวิเคราะห์ระบบจะแบ่งเป็น 2 ส่วน คือ วิเคราะห์ระบบ และ ออกแบบระบบ

วิเคราะห์ระบบ (System Analysis)เป็นการศึกษา วิเคราะห์ และแยกแยะปัญหาที่เกิดขึ้นในระบบ พร้อมทั้งเสนอแนวทางแก้ไขตามความต้องการของผู้ใช้งานและความเหมาะสมต่อสถานะทางการเงินขององค์กรออกแบบระบบ (System Design)เป็นวิธีการออกแบบ และกำหนดคุณสมบัติทางเทคนิคโดยนำระบบคอมพิวเตอร์มาประยุกต์ใช้ เพื่อแก้ปัญหาที่ได้ทำการวิเคราะห์มาแล้วปัจจุบันนี้ในโลกธุรกิจมีอัตราการแข่งขันกันค่อนข้างสูง ดังนั้น นักวิเคราะห์ระบบสมัยใหม่ (The Modem System Analyst) นอกจากจะเป็นผู้พัฒนาระบบสารสนเทศขององค์กรแล้วยังจะต้องสามารถช่วยแก้ปัญหาทางกระบวนการดำเนินงานทางธุรกิจขององค์กรนั้นได้ด้วย กล่าวคือจะต้องมีความชำนาญในการกำหนดของเขต แยกแยะปัญหาทางธุรกิจ และระบุถึงความต้องการของระบบเพื่อนำไปสู่การพัฒนาระบบสารสนเทศต่อไปหน้าที่ของนักวิเคราะห์ระบบ
นอกจากหน้าที่หลักของนักวิเคราะห์ระบบสมัยใหม่คือการวิเคราะห์และออกแบบระบบตลอดจนช่วยแก้ปัญหาทางกระบวนการดำเนินงานทางธุรกิจแล้วในระหว่างการพัฒนาระบบสารสนเทศนักวิเคราะห์ระบบยังมีหน้าที่ที่ต้องดำเนินการ
อีกหลายหน้าที่ดังนี้

1. รวบรวมข้อมูล
เป็นการรวบรวมข้อมูลของระบบเดิมเพื่อให้ทราบถึงปัญหาที่เกิดขึ้น และนำไปใช้เป็นข้อมูลส่วนหนึ่งในการพัฒนาระบบใหม่ ทั้งนี้อาจจะนำแบบสอบถามหรือการสัมภาษณ์เพื่อเก็บรายระเอียดต่างๆ จากผู้ใช้ระบบ เพราะผู้ใช้ระบบเป็นผู้ที่เข้าใจถึงปัญหาที่เกิดขึ้นได้ดีที่สุด

2. จัดทำเอกสาร
ในระหว่างทำการพัฒนาระบบนั้น นักวิเคราะห์ระบบจะต้องจัดทำเอกสารประกอบในแต่ละขั้นตอนของการวิเคราะห์ระบบโดยละเอียด และปรับปรุงให้เป็นปัจจุบันอยู่เสมอ เพื่อความคล่องตัวหากมีการเปลี่ยนแปลงทีมงานในระหว่างการพัฒนาระบบ

3. จัดทำพจนานุกรมข้อมูล (Data Dictionary)
เป็นการรวบรวมข้อมูลเอกสารทั้งหมด และอธิบายถึงเอกสารต่างๆ ที่ต้องมีการใช้งานในระบบ พจนานุกรมข้อมูลจัดเป็นสิ่งหนึ่งที่นักวิเคราะห์ระบบจำเป็นต้องใช้ในการติดต่อประสานงานกับโปรแกรมเมอร์และเจ้าของระบบ

4. ออกแบบระบบ
นักวิเคราะห์ระบบจะต้องทำการออกแบบการทำงานของระบบใหม่ให้ตรงตามความต้องการของผู้ใช้ระบบ
และมีความเหมาะสมมากที่สุด รวมทั้งออกแบบลักษณะการติดต่อของโปรแกรมกับผู้ใช้งาน ฮาร์ดแวร์และเทคโนโลยีสารสนเทศที่จะนำมาใช้ในระบบ กำหนดลักษณะของเครือข่ายที่ใช้ในการเชื่อมต่อคอมพิวเตอร์ กำหนดมาตรการรักษาความปลอดภัยของระบบรวมไปถึงการประมาณการค่าใช้จ่ายต่างๆในส่วนที่จะเกิดขึ้น

5. สร้างแบบจำลอง
ทำการสร้างแบบจำลองของโปรแกรมที่พัฒนาขึ้นเพื่อนำเสนอแก่เจ้าของระบบและผู้ใช้งาน ในบางองค์กร
หน้าที่การสร้างแบบจำลองจะเป็นของโปรแกรมเมอร์

6. ทดสอบโปรแกรมที่พัฒนาขึ้น
ในบางครั้งนักวิเคราะห์ระบบและโปรแกรมเมอร์จะเป็นผู้ทดสอบโปรแกรมเอง แต่หากมอบหมายให้ผู้ใช้
ระบบเป็นผู้ทดสอบจะมีผลการทดสอบที่มีประสิทธิภาพมากกว่า เนื่องจากผู้ใช้ระบบเป็นผู้ที่รู้และเข้าใจระบบงานอย่างแท้จริง จึงสามารถบอกได้ว่าโปรแกรมที่พัฒนาขึ้นมานั้นทำงานได้สอดคล้องกับการทำงานจริงมากน้อยเพียงใด

7. ติดตั้งและทำการปรับเปลี่ยนระบบ
ทำการติดตั้งและปรับเปลี่ยนระบบเดิมเป็นระบบใหม่ ซึ่งสามารถทำได้หลายลักษณะ เช่น ติดตั้งทั้งหมดทันที ติดตั้งเป็นบางส่วนก่อน หรือติดตั้งระบบใหม่ควบคู่ไปกับการทำงานของระบบเก่า เป็นต้น

8. จัดทำคู่มือ
จัดทำคู่มือและจัดเตรียมหลักสูตรฝึกอบรมให้แก่ผู้ใช้ระบบ เนื่องจากเป็นการเปลี่ยนแปลงระบบซึ่ง หมายรวมถึงการเปลี่ยนแปลงวิธีการดำเนินงาน ลักษณะของโปรแกรมที่ใช้งานก็เปลี่ยนแปลงไป การที่ผู้ใช้ระบบสามารถเข้าใจและรับรู้การเปลี่ยนแปลงที่เกิดขั้นได้อย่างรวดเร็ว ก็คือ การได้รับการฝึกอบรมอย่างถูกต้อง

9. จัดทำแบบสอบถาม
จัดทำแบบสอบถามถึงผลการดำเนินงานของระบบใหม่ที่ติดตั้งไปแล้วในรูปแบบของรายงานผลการใช้งาน
(Feedback) เพราะจะทำให้นักวิเคราะห์ระบบทราบว่าผลของการติดตั้งระบบใหม่เป็นอย่างไร และมีปัญหาอะไรเกิดขึ้นตามมาบ้างเพื่อจะได้นำปัญหาเหล่านั้นมาทำการปรับปรุงแก้ไขเพื่อให้ได้เป็นระบบที่ตรงตามความต้องการของผู้ใช้ได้ในที่สุด

10. บำรุงรักษาและประเมินผลการปฏิบัติงานของระบบ
เป็นการดูแลระบบเมื่อมีข้อผิดพลาดเกิดขึ้น รวมทั้งเป็นการปรับปรุง ดัดแปลง หรือแก้ไขทั้งโปรแกรมและขั้นตอนการทำงานของระบบ เพื่อให้ระบบมีการทำงานที่ถูกต้องมากที่สุด นอกจากนั้นยังทำให้สามารถประเมินผลการปฏิบัติงานของระบบใหม่ได้อีกด้วย

11. เป็นผู้ให้คำปรึกษา
คอยให้คำปรึกษาแก่ผู้ใช้ระบบและทุกคนในระบบ (Consulting) ภายหลังการติดตั้งระบบแล้ว การใช้งานอาจเกิดข้อสงสัยหรือข้อผิดพลาดขึ้นได้ตลอดเวลา ดังนั้นนักวิเคราะห์ระบบจะต้องคอยให้คำปรึกษา ไม่ว่าจะเป็นทางด้านการใช้โปรแกรมหรือทางด้านเทคนิคก็ตาม

12. เป็นผู้ประสานงาน
ทำหน้าที่ประสานงานระหว่างทุกฝ่ายที่เกี่ยวข้องกับการพัฒนาระบบ (Coordinator) เพื่อให้เข้าใจในเหตุการณ์หรือข้อมูลที่เกิดขึ้นภายในองค์กรได้ถูกต้องตรงกันที่สุด

13. เป็นผู้แก้ไขปัญหา
ในที่นี้จะเป็นผู้ที่นำแนวคิดของคำว่า " ระบบ " มาใช้ในการแก้ปัญหาทั้งการดำเนินงานทางธุรกิจขององค์กร และแก้ปัญหาด้านระบบสารสนเทศด้วย โดยการเปรียบเทียบในลักษณะของงานทางธุรกิจคือระบบ ซึ่งจะต้องกำหนดของเขตของระบบผู้ที่เกี่ยวข้องกับการทำงานของระบบพิจารณาว่าจ้อมูลที่เข้าและออกจากระบบนั้นเกิดจากบุคคลฝ่ายใดหรือเกิดจากขั้นตอนการทำงานขั้นตอนใด เพื่อให้การแก้ไขปัญหานั้นสามารถดำเนินการได้อย่างชัดเจนภายในขอบเขตของระบบนั้น

14. เป็นตัวแทนการเปลี่ยนแปลง
นักวิเคราะห์ระบบเป็นผู้ที่สามารถแสดงให้ทุกคนเล็งเห็นถึงผลประโยชน์ที่เกิดขึ้นหลังจากการเปลี่ยนแปลงจากระบบเก่าเป็นระบบใหม่ได้

15. เป็นผู้เตรียมข้อมูลให้กับองค์กร
เมื่อมีการเปลี่ยนแปลงระบบแล้ว นักวิเคราะห์ระบบจะเป็นผู้ที่ทราบราบละเอียดของการเปลี่ยนแปลงที่ดีที่สุด ซึ่งสามารถเตรียมข้อมูลเพื่อนำไปใช้ในการแข่งขัน หรือ การหาตลาดใหม่ขององค์กรได้อย่างรวดเร็วและทันเหตุการณ์ หน้าที่ต่างๆ เหล่านี้เป็นเพียงส่วนหนึ่งที่นักวิเคราะห์ระบบจะต้องปฏิบัติด้วยความเต็มใจและอดทน และคำนึงถึงความต้องการของผู้ใช้ระบบก่อนเสมอทั้งในระหว่างการพัฒนาและความต้องการที่จะเกิดขึ้นในอนาคตด้วย
นักวิเคราะห์ระบบพัฒนาระบบสารสนเทศอย่างไร

การพัฒนาระบบสารสนเทศไม่ว่าจะเป็นองค์กรใดก็ตามล้วนแต่มีความซับซ้อนและความละเอียดอ่อน
เหมือนกัน ปัจจะบันนักวิเคราะห์ระบบสามารถพัฒนาระบบได้โดยดำเนินการตามแนวทางหรือวิธีการ (Methodology) ที่แตกต่างกันไปตามความเหมาะสมของแต่ละองค์กร แต่ไม่ว่าจะเป็นวิธีการใดก็ตามล้วนแต่มุ่งเน้นเพื่อให้สามารถพัฒนาระบบในวงจรการพัฒนาระบบ (System Development Life Cycle :DSLC ) ได้อย่าง มีประสิทธิภาพมากที่สุด
วงจรการพัฒนาระบบ (System Development Life Cycle : SDLC) คือ กระบวนการทางความคิด (Logical Process) ในการพัฒนาระบบสารสนเทศเพื่อแก้ปัญหาทางธุรกิจและตอบสนองความต้องการของผู้ใข้ได้ โดยระบบที่จะพัฒนานั้น อาจเริ่มด้วยการพัฒนาระบบใหม่เลยหรือนำระบบเดิมที่มีอยู่แล้วมาปรับเปลี่ยนให้ดียิ่งขึ้น ภายในวงจรนั้นจะแบ่งกระบวนการพัฒนาออกเป็นระยะ (Phases) ได้แก่ ระยะเวลาการวางแผน (Planning Phase ) ระยะการวิเคราะห์ ( Analysis Phase ) ระยะเวลาการออกแบบ (Design Phase ) และระยะการสร้างและพัฒนา (Implementation Phase ) โดยแต่ละระยะจะประกอบไปด้วยขั้นตอน (Steps) ต่างๆ แตกต่างกันไปตาม Methodology ที่นักวิเคราะห์ระบบนำมาใช้ เพื่อให้เหมาะสมกับสถานะทางการเงินและความพร้อมขององค์กรในขณะนั้น
ขั้นตอนในวงจรพัฒนาระบบ ช่วยให้นักวิเคราะห์ระบบสามารถดำเนินการได้อย่างมีแนวทางและเป็นขั้นตอน ทำให้สามารถควบคุมระยะเวลาและงบประมาณในการปฏิบัติงานของโครงการพัฒนาระบบได้ ขั้นตอนต่างๆ นั้นมีลักษณะคล้ายกับการตัดสินแก้ไขปัญหาตามแนวทางวิทยาศาสตร์ (Scientific Management) อันได้แก่ การค้นหาปัญหา การค้นหาแนวทางแก้ไขปัญหา การประเมินผลแนวทางแก้ไขปัญหาที่ค้นพบ เลือกแนวทางที่ดีทีสุด และพัฒนาทางเลือกนั้นให้ใช้งานได้ สำหรับวงจรการพัฒนาระบบในหนังสือเล่มนี้ จะแบ่งเป็น 7 ขั้นตอน ได้แก่
1.ค้นหาและเลือกสรรโครงการ (Project Identification and Selection)
2. จัดตั้งและวางแผนโครงการ (Project Initiating and Planning)
3. วิเคราะห์ระบบ (Analysis)
4. ออกแบบเชิงตรรกะ (Logical Design)
5. ออกแบบเชิงกายภาพ (Physical Design)
6. พัฒนาและติดตั้งระบบ (System Implementation)
7. ซ่อมบำรุงระบบ (System Maintenance)



รูปที่แสดงขั้นตอนการพัฒนาระบบในวงจรการพัฒนาระบบ SDLC
1. ค้นหาและเลือกสรรโครงการ (Project Identification and Selection)

เนื่องจากในสภาพเศรษฐกิจปัจจุบันมีสภาวะแข่งขันของธรกิจค่อนข้างสูง จึงทำให้องค์กรจำเป็นต้องหากลยุทธ์

ทางการแข่งจันเพื่อเพิ่มความได้เปรียบต่อคู่แข่งขัน และแย่งส่วนแบ่งตลาดให้ได้มากขึ้นอันจะนำไปสู่ผลกำไรที่มากขึ้น ซึ่งกลยุทธ์การแข่งขันดังกล่าวอาจจะเป็นการพัฒนาระบบงานที่ดำเนินการอยู่ในปัจจุบันหรือพัฒนาระบบใหม่ แต่จะมีระบบงานใดบ้างนั้น จะต้องค้นหาจากผู้ที่ปฏิบัติงานกับระบบงานจริง โครงการที่รวบรวมมาได้อาจมีหลายโครงการ แต่อาจดำเนินการพร้อมกันหมดไม่ได้ เนื่องจากมีข้อจำกัดเรื่องของต้นทุนและเวลาที่ใช้ในการดำเนินการ ดังนั้นจำเป็นต้องมีการเลือกสรรโครงการที่เหมาะสมและให้ผลประโยชน์แก่องค์กรมากที่สุดในสภาวการณ์ปัจจุบัน
2. เริ่มต้นและวางแผนโครงการ (Project Initiating and Planning)

รวบรวมข้อมูลเพิ่มเติมเพื่อเริ่มต้นจัดทำโครงการที่ได้รับอนุมัติ โดยเริ่มจากการจัดตั้งทีมงาน เพื่อเตรียมการ

ดำเนินงานจากนั้นทีมงานดังกล่าวร่วมกันค้นหา สร้างแนวทาง และเลือกทางเลือกที่ดีที่สุดในการนำระบบใหม่มา ใช้งาน เมื่อได้ทางเลือกที่ดีและเหมาะสมที่สุดแล้ว ทีมงานจึงเริ่มวางแผนดำเนินงานโครงการ โดยศึกษาความเป็นไปได้ กำหนดระยะเวลาดำเนินงานแต่ละขั้นตอนและกิจกรรม เพื่อนำเสนอต่อผู้บริหารพิจารณาอนุมัติให้ดำเนินการในขั้นตอนต่อไป
3. วิเคราะห์ระบบ (System Analysis)

ศึกษาขั้นตอนการดำเนินงานของระบบเดิมเพื่อหาปัญหาที่เกิดขึ้น รวบรวมความต้องการในระบบใหม่จาก 

ผู้ใช้ระบบแล้วนำความต้องการเหล่านั้นมาศึกษาและวิเคราะห์เพื่อแก้ปัญหาดังกล่าว ด้วยการใช้แบบจำลองต่างๆ ช่วยในการวิเคราะห์
4. ออกแบบเชิงตรรกะ (Logical Design)

เป็นขั้นตอนการออกแบบลักษณะการทำงานของระบบตามทางเลือกที่ได้ทำการเลือกไว้จากขั้นตอนการวิเคราะห์ระบบโดยการออกแบบในเชิงตรรกะนี้ยังไม่ได้มีการระบุถึงคุณลักษณะของอุปกรณ์ที่จะนำมาใช้ เพียงแต่กำหนดถึงลักษณะของรูปแบบรายงานที่เกิดจากการทำงานของระบบ ลักษณะของการนำข้อมูลเข้าสู่ระบบและ ผลลัพธ์ที่ได้จากระบบ

5. ออกแบบเชิงกายภาพ (Physical Design)

ระบุถึงลักษณะการทำงานของระบบทางการายภาพหรือทางเทคนิค โดยระบุถึงคุณลักษณะของอุปกรณ์ที่จะนำมาใช้เทคโนโลยี โปรแกรมภาษาที่จะนำมาใช้เขียนโปรแกรม ฐานข้อมูล ระบบปฏิบัติการ และระบบเครือข่ายที่เหมาะสม สิ่งที่ได้จากขั้นตอนนี้ก็คือ เอกสารจองการออกแบบซึ่งโปรแกรมเมอร์จะนำไปใช้ในการเขียนโปรแกรมต่อไป

6. พัฒนาและติดตั้งระบบ (System Implementation)

เป็นการนำระบบที่ออกแบบแล้วมาทำการเขียนโปรแกรมเพื่อให้เป็นไปตามคุณลักษณะและรูปแบบต่างๆที่ได้กำหนดไว้ หลังจากเจียนโปรแกรมเรียบร้อยแล้ว นักวิเคราะห์จะต้องทำการทดสอลบโปรแกรม ตรวจสอบหาข้อผิดพลาดของโปรแกรมที่พัฒนาขึ้นมา และสุดท้ายคือการติดตั้งระบบไม่ว่าจะเป็นระบบใหม่หรือเป็นการพัฒนาระบบเดิมที่มีอยู่แล้ว โดยทำการติดตั้งตัวโปรแกรม ติดตั้งอุปกรณ์ พร้อมทั้งจัดทำคู่มือ และจัดเตรียมหลักสูตร อบรมให้แก่ผู้ใช้งานที่เกี่ยวข้อง

7. ซ่อมบำรุงระบบ (System Maintenance)

เป็นขั้นตอนสุดท้ายของวงจรพัฒนาระบบ (SDLC) หลังจากระบบใหม่ได้เริ่มดำเนินการ ผู้ใช้ระบบอาจะพบกับปัญหาที่เกิดขึ้นเนื่องจากความไม่คุ้นเคยกับระบบใหม่ และอาจค้นพบวิธีการแก้ไขปัญหานั้นเพื่อให้ตรงกับความต้องการจองผู้ใช้เอง ดังนั้นนักวิเคราะห์ระบบและโปรแกรมเมอร์จะต้องคอยแก้ไขและเปลี่ยนแปลงระบบที่พัฒนาขึ้นมาจนกว่าจะเป็นที่พอใจของผู้ใช้ระบบมากที่สุด ปัญหาที่ผู้ใช้ระบบค้นพบระหว่างการดำเนินงานนั้นเป็นผลดีในการทำให้ระบบให้มีประสิทธิภาพมากยิ่งขึ้น เนื่องจากผู้ใช้ระบบเป็นผู้ที่สัมผัสกับการทำงานกับระบบงานจริงทุกวัน ซึ่งสามารถให้คำตอบได้ว่าระบบที่พัฒนามานั้นตรงต่อความต้องการหรือไม่




แบบจำลองขั้นตอนการทำงานของระบบ (Process Modelling)



ประเภทของแบบจำลองที่ใช้ในการพัฒนาระบบสารสนเทศ คือ
1.      แบบจำลองเชิงตรรกะ (Logical Model) เป็นแบบจำลองที่อธิบายการดำเนินงานในระบบว่ามีการทำงานและความต้องการใดบ้างโดยไม่คำนึงถึงเทคโนโลยี หรือโปรแกรมภาษาใดๆ ที่นำมาติดตั้งใช้งาน
2.      แบบจำลองเชิงกายภาพ (Physical Model) เป็นแบบจำลองที่นอกจากจะอธิบายการดำเนินงานของระบบว่าทำงานอะไรแล้ว ยังอธิบายว่ามีการดำเนินงานอย่างไร นอกจากนี้ยังมีการแสดงถึงประสิทธิภาพของเทคโนโลยีที่เลือกมาติดตั้งใช้งานเพื่อสนองความต้องการ และแสดงข้อจำกัดของเทคโนโลยีนั้นๆ ด้วย
ความแตกต่างระหว่าง Physical กับ Logical นั้นอาจทำให้เกิดความสับสน ดังนั้นจึงขอ
ยกตัวอย่างการเปรียบเทียบระหว่าง Physical และ Logical ดังนี้
                               สมมติว่าไปซื้อสินค้าที่ห้างสรรพสินค้า เมื่อซื้อสินค้าได้ครบตามที่ต้องการแล้ว เราก็จะไป ชำระเงิน การชำระเงินนี้ถือเป็น “Logical” แต่การชำระเงินยังสามารถชำระด้วยเงินสดหรือบัตรเครดิตรายละเอียดตรงนี้เรียกว่า “Physical” นั่นหมายถึง Logical จะไม่เน้นรายละเอียด

แบบจำลองขั้นตอนการทำงานของระบบ (Process Modeling) คือ เทคนิคที่ใช้ในการรวบรวม บันทึก สร้างโครงสร้างและแสดงทิศทางของข้อมูลในการดำเนินงานขั้นตอนต่างๆ รวมทั้งข้อมูลเชิงตรรกะ (Logical) หลักการ (Policies) และขบวนการ(Procedures) ต่างๆ ของแต่ละขั้นตอน เหตุผลของการจำลองขั้นตอนการทำงานของระบบขึ้น คือต้องการแสดงข้อเท็จจริงในการทำงานและข้อมูลของระบบที่เก็บรวบรวมมาในรูปของข้อความ ให้เป็นแผนภาพเพื่อความสะดวกในการสื่อสารระหว่างนักวิเคราะห์ระบบและโปรแกรมเมอร์หรือผู้ที่เกี่ยวข้องคนอื่นๆ และง่ายต่อความเข้าใจของผู้ใช้และเจ้าของระบบ โดยเครื่องมือที่ใช้ในการจำลองแบบขั้นตอนการทำงานเรียกว่า แผนภาพกระแสข้อมูล (Data Flow Diagram:DFD)”
                               
       แผนภาพกระแสข้อมูล (Data Flow Diagram:DFD)  หมายถึง แผนภาพที่แสดงให้เห็นถึงทิศทางการไหลของข้อมูลที่มีอยู่ในระบบ และการดำเนินงานที่เกิดขึ้นในระบบ โดยข้อมูลในแผนภาพทำให้ทราบถึง ข้อมูลมาจากไหน, ข้อมูลไปที่ไหน, ข้อมูลเก็บที่ใด, เกิดเหตุการณ์ใดกับข้อมูลในระหว่างทาง แผนภาพกระแสข้อมูลจะแสดงภาพรวมของระบบ (Overall picture of a system) และรายละเอียดบางอย่าง แต่ในบางครั้งหากต้องการกำหนดรายละเอียดที่สำคัญในระบบ นักวิเคราะห์ระบบอาจจำเป็นต้องใช้เครื่องมืออื่นๆ ช่วย เช่น ข้อความสั้นๆที่เข้าใจ หรือัลกอริทึม, ตารางการตัดสินใจ (Decision Table), Data Model, Process Description ทั้งนี้ก็ขึ้นอยู่กับความต้องการในรายละเอียด
วัตถุประสงค์ของการสร้างแผนภาพกระแสข้อมูลนี้เพื่อ
1.           เป็นแผนภาพที่สรุปรวมข้อมูลทั้งหมดที่ได้จากการวิเคราะห์ในลักษณะของรูปแบบที่เป็นโครงสร้าง
2.           เป็นข้อตกลงร่วมกันระหว่างนักวิเคราะห์ระบบและผู้ใช้งาน
3.           เป็นแผนภาพที่ใช้ในการพัฒนาต่อในขั้นตอนของการออกแบบระบบ
4.           เป็นแผนภาพที่ใช้ในการอ้างอิง หรือเพื่อใช้ในการพัฒนาต่อในอนาคต
5.           ทราบที่มาที่ไปของข้อมูลที่ไหลไปในกระบวนการต่างๆ (Data and Process)

รูปแสดงขั้นตอนการวิเคราะห์เพื่อไปสู่การออกแบบ




2. ส่วนประกอบของ DFD เพื่อให้การเขียนแผนภาพการไหลของข้อมูลเป็นมาตรฐานและมีแบบแผนที่ถูกต้อง ในที่นี้จะใช้สัญลักษณ์ในการเขียน DFD ตามทฤษฎีของ SSADM (Structure Systems Analysis and Design Method) ซึ่งมีองค์ประกอบ 4 สัญลักษณ์ ดังต่อไปนี้


1. สัญลักษณ์แทนการประมวลผล (Process)






2. สัญลักษณ์แทนกระแสข้อมูลเป็นลูกศร (Data Flow)



3. สัญลักษณ์แทนแหล่งเก็บข้อมูล (Data Store) เป็นเส้นขนาน 2 เส้น ปลายปิด 1 ด้าน





4. สัญลักษณ์แทนสิ่งที่อยู่นอกระบบ (External หรือ Terminators)





รูปที่ 2 แสดงสัญลักษณ์ในการเขียน DFD

1. สัญลักษณ์แทนการประมวลผล (Process) รูปสี่เหลี่ยมมีหมายเลขและชื่อกำกับ เป็นสัญลักษณ์แทนขั้นตอนในกระบวนการทำงาน จะกระทำให้ลักษณะของข้อมูลเปลี่ยนแปลงไป ดังตัวอย่าง



การประมวลผลจะเปลี่ยนแปลงข้อมูลขาเข้าเป็นผลลัพธ์ นั่นหมายความว่า จะต้องมีการกระทำบางอย่างต่อข้อมูลทำให้เกิดผลลัพธ์ขึ้นมา โดยปกติแล้วข้อมูลที่เข้าสู่โพรเซสจะแตกต่างจากข้อมูลเมื่ออกจากโพรเซส

โพรเซสเป็นตัวอย่างอันหนึ่งของ "กล่องดำ" หมายถึง เราทราบว่าข้อมูลเป็นอะไร ผลลัพธ์อะไรที่เราต้องการ และหน้าที่โดยทั่วๆไปของโพรเซส แต่จะไม่ทราบว่าโพรเซสนั้นทำงานอย่างไร หลักการของกล่องดำมีประโยชน์ในการเขียนแผนภาพแสดงการเปลี่ยนแปลงของข้อมูล โดยที่ยังไม่ต้องการทราบในรายละเอียดว่าโพรเซสนั้นมีรายละเอียดอะไรบ้าง ซึ่งสามารถหารายละเอียดเหล่านั้นได้ในภายหลัง
ชื่อโพรเซสเป็นตัวบอกว่าโพรเซสนั้นทำหน้าที่อะไร คำที่ใช้ควรมีความหมายที่แน่นอน ควรจะใช้คำกริยา เช่น แก้ไข พิมพ์ คำนวณ เป็นต้น ถ้าการทำงานใดที่เราไม่สามารถหาคำแทนได้อย่างเหมาะสม อาจจะหมายความว่า งานนั้นๆ ไม่ใช่โพรเซสก็ได้ โพรเซสใดไม่สามารถแยกย่อยออกไปได้อีก จะมีสัญลักษณ์ * กำกับอยู่ด้วย จะปรากฏที่โพรเซสในระดับล่างสุดของ DFD




จากรูปตัวอย่างข้างต้น แสดงว่าโพรเซส คำนวณภาษี เป็นกระบวนการหรือกิจกรรมสุดท้ายในการทำงาน ไม่สามารถแยกย่อยออกไปได้อีก 


3. กระแสข้อมูล (Data Flow) กระแสข้อมูลแทนด้วยลูกศร โดยที่มีชื่อกำกับบนลูกศร



ข้อมูลจะไหลระหว่างโพรเซสต่างๆ และอาจจะเคลื่อนที่มาจากสิ่งที่อยู่นอกระบบก็ได้ ข้อมูลที่เคลื่อนที่อาจจะเป็นเพียงข้อมูลเดี่ยวๆ เช่น เลขที่สินค้า หรือกลุ่มของข้อมูล เช่น ข้อมูลพนักงาน ข้อมูลลูกค้า เป็นต้น 

กลุ่มของข้อมูลควรจะเป็นเรื่องเดียวกัน หรือสัมพันธ์กัน ถ้าต้องการอ้างถึงข้อมูลทั้งสองที่ไม่เกี่ยวข้องกันให้เขียนแยกเป็นลูกศร 2 อัน เช่น



รูปที่ 3 ข้อมูล 2 รายการไม่เหมือนกันจะต้องแยกลูกศรออกจากกัน(ซ้ายเป็นภาพที่ผิด),(ขวาเป็นภาพที่ถูก)
4. แหล่งเก็บข้อมูล (Data Store) แทนด้วยเส้นขนาน 2 เส้น ปลายปิด 1 ด้าน และมีชื่อและหมายเลขกำกับ ข้อมูลจะถูกเก็บไว้ในไฟล์และถูกเรียกใช้เมื่อต้องการ โดยปกติแล้วไฟล์ไม่อาจจะอยู่ในจานแม่เหล็ก หรือเทปแม่เหล็ก ถ้าหัวลูกศรวิ่งเข้าสู่ไฟล์แสดงว่า มีการเขียนข้อมูล หรือการแก้ไขข้อมูลในไฟล์ การตั้งชื่อไฟล์ควรเป็นคำนาม