แบบทดสอบก่อนเรียน

ทำแบบทดสอบก่อนเรียน 

เพื่อวัดความรู้พื้นฐาน

แบบทดสอบหลังเรียน

ทำแบบทดสอบหลังเรียน 

เพื่อวัดความรู้ที่ได้รับหลังเรียน

ระบบ (System) คืออะไร ?

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

การวิเคราะห์ระบบและการออกแบบ System Analysis and Design (ซิสเต็ม อนาชิส แอน ดีไช) คือ วิธีการที่ใช้ในการสร้างระบบสารสนเทศขึ้นมาใหม่ในธุรกิจใดธุรกิจหนึ่งหรือระบบย่อยของธุรกิจ นอกจากการสร้างระบบสารสนเทศใหม่แล้ว การวิเคราะห์ระบบ ช่วยในการแก้ไขระบบสารสนเทศเดิมที่มีอยู่แล้วให้ดีขึ้นด้วยก็ได้

        - การวิเคราะห์ระบบ คือ การหาความต้องการ Requirements (รีคิสเม้น) ของระบบสารสนเทศว่าคืออะไร หรือต้องการเพิ่มเติมอะไรเข้ามาในระบบ

        - การออกแบบ คือ การนำเอาความต้องการของระบบมาเป็นแบบแผน หรือเรียกว่าพิมพ์เขียวในการสร้างระบบสารสนเทศนั้นให้ใช้งานได้จริง ตัวอย่างระบบสารสนเทศ  เช่น ระบบการขาย ความต้องการของระบบก็คือ สามารถติดตามยอดขายได้เป็นระยะ เพื่อฝ่ายบริหารสามารถปรับปรุงการขายได้ทันท่วงที

     นักวิเคราะห์ระบบ SA : System Analyst (ชิสเต็ม อนาชิส) คือ บุคคลที่มีหน้าที่วิเคราะห์และออกแบบระบบ ซึ่งปกติแล้วนักวิเคราะห์ระบบควรจะอยู่ในทีมระบบสารสนเทศขององค์กรหรือธุรกิจนั้น ๆ การที่มีนักวิเคราะห์ระบบในองค์กรนั้นเป็นการได้เปรียบ เพราะจะรู้โดยละเอียดว่า การทำงานในระบบนั้น ๆ เป็นอย่างไร และอะไร คือความต้องการของระบบ

การวิเคราะห์ (Analysis) คืออะไร ?

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

รวบรวมข้อมูล การศึกษาระบบเดิมนั้น นักวิเคราะห์ระบบ เริ่มต้นจากการศึกษาเอกสารต่างๆ เช่น คู่มือต่างๆ หลังจากนั้นเป็นการรวบรวมแบบฟอร์มและรายงานต่าง ๆ เช่น ในระบบบัญชีเจ้าหนี้จะมีแบบฟอร์มใบบรรจุผลิตภัณฑ์ ใบทวงหนี้ รายงานเพื่อเตรียมเงินสดเป็นต้น นอกจากนั้นจะต้องคอยสังเกตดูการทำงานของผู้ที่เกี่ยวข้องในระบบที่ศึกษา ท้ายที่สุดอาจจะต้องมีการสัมภาษณ์ผู้ที่มีหน้าที่ รับผิดชอบงานที่เกี่ยวข้องในระบบ หรือบางกรณีอาจจะต้องใช้แบบสอบถามมาช่วยเก็บข้อมูลด้วยก็ได้ วิธีการทั้งหมดเรียกว่า เทคนิคการเก็บรวบรวมข้อมูล (Fact Gathering Techniques)

คำอธิบายข้อมูล Data Description (ดาต้า ดิคิปชัน) เมื่อนักวิเคราะห์ระบบศึกษาระบบมากเข้าจะพบว่า มีข้อมูลมากมายที่ต้องจัดให้เป็นหมวดหมู่ เช่น ข้อมูลของลูกค้าคนหนึ่งจะรวมข้อมูลรายละเอียดอื่นๆ เช่น เลขที่ลูกค้า ชื่อ ที่อยู่ เบอร์โทรศัพท์ การจ่ายเงิน การซื้อสินค้า เป็นต้น

คำอธิบายวิธีการ Procedure Description (พรีโคดัก ดิคริบชัน) กรรมวิธีที่ติดตามการเปลี่ยนแปลงของข้อมูลจะต้องรู้ว่า ข้อมูลผ่านการประมวลผลอย่างไรบ้าง

การจัดการข้อมูล (Data Development) ?

วงจรการพัฒนาระบบ System Development Lift Cycle - SDLC (ชิสเต็ม เดวาดอบเม้น ลีส ไชเคิล เอสดีแอลชี) ระบบสารสนเทศทั้งหลายมีวงจรชีวิตที่เหมือนกัน ตั้งแต่เกิดจนตาย วงจรนี้จะเป็นขั้นตอนที่เป็นลำดับตั้งแต่ต้นจนเสร็จเรียบร้อยเป็นระบบที่ใช้งานได้ ซึ่งนักวิเคราะห์ระบบ ต้องทำความเข้าใจให้ดีว่าในแต่ละขั้นตอนจะต้องทำอะไร และทำอย่างไร

 ขั้นตอนการพัฒนาระบบมีอยู่ด้วยกัน 7 ขั้นตอน คือ

     1. เข้าใจปัญหา (Problem Recognition)

     2. ศึกษาความเป็นไปได้ (Feasibility Study) 

     3. วิเคราะห์ (Analysis)

     4. ออกแบบ (Design) 

     5. สร้าง หรือพัฒนาระบบ (Construction) 

     6. การปรับเปลี่ยน (Conversion) 

     7. บำรุงรักษา (Maintenance)

หลักการวิเคราะห์และออกแบบระบบสารสนเทศและซอฟต์แวร์

1. การวิเคราะห์ระบบงาน 

คำว่า วิเคราะห์มาจากคำว่า พิเคราะห์ ซึ่งเป็นการเปลี่ยน พ เป็น ว ในภาษาไทยซึ่งแปลความหมายได้ว่า การพินิจพิเคราะห์ การพิจารณา การใคร่ครวญ การไต่สวนความหรือเรื่องราว ส่วนในภาษาอังกฤษก็ได้ให้ความหมายใกล้เคียงกันคือ Determine, Examine และ Investigate ซึ่งคำว่าวิเคราะห์นี้สามารถนำไปใช้กับวิชาการต่าง ๆ ได้มากมาย เช่น การวิเคราะห์โครงสร้าง การวิเคราะห์เชิงคุณภาพ การวิเคราะห์เชิงปริมาณ การวิเคราะห์ปัญหา เป็นต้น 

คำว่า “วิเคราะห์” ที่ใช้กับการวิเคราะห์ระบบนั้น ตรงกับภาษาอังกฤษว่า “Analysis” ซึ่งแปลว่า การแยกสิ่งที่ประกอบกันออกเป็นส่วน ๆ เช่น การแยกระบบใหญ่ออกเป็นส่วนย่อย ๆ คือ เป็นการแยกปัญหาออกเป็นส่วน ๆ เพื่อสะดวกในการพิจารณาหรือตัดสินใจ จามความหมายของคำว่าวิเคราะห์ดังกล่าวนี้ จะเห็นว่า การวิเคราะห์ระบบงานไม่ใช่เรื่องที่ยุ่งยากหรือเรื่องที่สลับซับซ้อนแต่ประการใด 

การพิจารณาใคร่ครวญในปัญหาต่าง ๆ ของคนเรานั้น มีวิธีการใหญ่ ๆ อยู่ด้วยกัน 2 วิธี คือ 

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

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

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

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

การวิเคราะห์และออกแบบระบบ (System Analysis and Design) หมายถึง วิธีการที่ใช้ในการสร้างระบบสารสนเทศขึ้นมาใหม่ในธุรกิจใดธุรกิจหนึ่ง หรือในระบบย่อยของธุรกิจ นอกจากการสร้างระบบสารสนเทศใหม่แล้วการวิเคราะห์ระบบช่วยในการแก้ไขระบบสารสนเทศเดิมที่มีอยู่แล้วให้ดีขึ้นด้วยก็ได้ การวิเคราะห์ระบบ คือ การหาความต้องการ (Requirements) ของระบบสรสนเทศว่าคืออะไร หรือต้องการเพิ่มเติมอะไรเข้ามาในระบบ

2. การออกแบบระบบงาน 

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

ความต้องการของระบบ เช่น สามารถติดตามยอกขายได้เป็นระยะ เพื่อให้ฝ่ายบริหารสามารถปรับปรุงการขายได้ทันท่วงที

นักวิเคราะห์ระบบ (System Analysis)

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

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

นักวิเคราะห์ระบบ (System Analysis) คือ บุคคลที่มีหน้าที่วิเคราะห์และออกแบบระบบ ซึ่งปกติแล้วนักวิเคราะห์ระบบควรจะอยู่ในทีมระบบสารสนเทศขององค์กรหรือของธุรกิจนั้น ๆ 

นักวิเคราะห์ระบบ (System Analysis) คือ บุคคลที่มีหน้าที่ในการออกแบบและพัฒนาระบบงานในระบบการประมวลผลข้อมูล ด้วยระบบและวิธีการต่าง ๆ เพื่อให้ระบบงานบรรลุถึงเป้าหมายตามต้องการของผู้ใช้ระบบ เริ่มตั้งแต่การวิเคราะห์ระบบข้อมูล การออกแบบระบบการปฏิบัติงานในการประมวลผลข้อมูล การสร้างขั้นตอนการปฏิบัติงาน การพัฒนาโปรแกรม และการเขียนเอกสารต่าง ๆ ประกอบการปฏิบัติงานของระบบ 

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

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

ความแตกต่างระหว่างโปรแกรมเมอร์และนักวิเคราะห์ระบบ 

โปรแกรมเมอร์ (Programmer) หมายถึง บุคคลที่มีหน้าที่รับผิดชอบในด้านการโปรแกรมโดยเฉพาะ สิ่งที่เขาจะเชื่อมโดย ได้แก่ อุปกรณ์คอมพิวเตอร์ ระบบปฏิบัติการ (Operating System : OS) หรือแม้กระทั่งภาษาที่ใช้ในการเขียนโปรแกรม เช่น COBOL, BASIC, C++, PASCAL เป็นต้น งานของโปรแกรมเมอร์จะเป็นไปในลักษณะที่มีขอบเขตการทำงานที่แน่นอน คือ จะเขียนโปรแกรมให้ถูกต้องตามวัตถุประสงค์ตามที่ได้มีการวิเคราะห์ขึ้นมาแล้ว ซึ่งจะทำงานเกี่ยวข้องกับคนจำนวนน้อย เช่น ทำงานกับโปรแกรมเมอร์ด้วยกันกันเองหรือกับนักวิเคราะห์ระบบที่เป็นผู้วางแนวทางของระบบงานให้แก่เขา 

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

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

คุณสมบัติของนักวิเคราะห์ระบบ 

ผู้ที่จะทำหน้าที่เป็นนักวิเคราะห์ระบบได้จะต้องมีคุณสมบัติดังต่อไปนี้ 

1. ความรู้ทางด้านการเขียนโปรแกรม เพื่อจะได้สื่อสารกับโปรแกรมเมอร์ได้อย่างมีประสิทธิภาพ นักวิเคราะห์จะต้องเข้าใจว่าสิ่งใดที่จะเขียนโปรแกรมได้ หรือเขียนไม่ได้ 

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

3. นักวิเคราะห์ระบบจะต้องเป็นผู้ที่ให้คำแนะนำด้านเทคนิคที่ควรจะเป้ฯให้แก่โปรแกรมเมอร์ ผู้ออกแบบรายงานแบบต่าง ๆ และวิศวกร 

4. นักวิเคราะห์ระบบจะต้องเข้าใจระบบที่จะทำการออกแบบและคนที่อยู่ในระบบนั้น ๆ 

5. นักวิเคราะห์ระบบจะต้องเป็นผู้ที่ทำหน้าที่เห็นสื่อกลางหรือล่ามระหว่างนักธุรกิจผู้ต้องการให้ออกแบบระบบกับโปรแกรมเมอร์หรือผู้ใช้ระบบ 

6. นักวิเคราะห์ระบบควรจะมีความรู้ทางด้านภาษาชั้นสูง (High-level Language) อย่างน้อย 1 ภาษา หรือความรู้ทางด้าน Fourth Generation Prototyping Language

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

8. นักวิเคราะห์ระบบควรจะมีมนุษยสัมพันธ์ที่ดี เนื่องจากนัดวิเคราะห์ระบบจะต้องเกี่ยวข้องกับคนในทุกระดับในองค์กร รวมถึงระบบปฏิบัติการ ช่างเทคนิค พนักงานบัญชี เลขานุการ พนักงานธุรการ ซึ่งเป็นส่วนที่มีความสำคัญที่สุด 

9. นักวิเคราะห์ระบบที่ดี ควรจะมีประสบการณ์ทางด้านการออกแบบระบบพอสมควรโดยในช่วงแรกอาจจะเริ่มต้นจากการเป็นโปรแกรมเมอร์ และการออกแบบเล็ก ๆ น้อย ๆ ในระบบ เช่น การออกแบบรายงานง่าย ๆ การออกแบบหน้าจอ (Screen Design) เป็นต้น

กิจกรรมต่าง ๆ ของระบบการประมวลผลข้อมูล 

กิจกรรมที่นักวิเคราะห์ระบบ จะต้องเข้าไปเกี่ยวข้อง แบ่งออกเป็นประเด็นใหญ่ ๆ ได้ 6 ประเด็น ได้แก่ 

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

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

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

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

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

6. ท้ายสุดนักวิเคราะห์ระบบงานจะต้องติดตามผลงานการปฏิบัติงานของระบบที่ได้ติดตั้งไว้ และวางแผนในการบำรุงรักษาระบบ (System Follow Up and Maintenance) ไปชั่วระยะเวลาหนึ่ง คือ เมื่อระบบงานได้ติดตั้งและเริ่มปฏิบัติงานไปตามแผนงานที่ได้ออกแบบระบบไว้ใหม่แล้ว หน้าที่ของนักวิเคราะห์ระบบจะยังไม่สิ้นสุดลงเพียงเท่านั้น จะต้องคอยติดตามการปฏิบัติงานของระบบนั้นไปอีกชั่วระยะเวลาหนึ่ง เพื่อทำการปรับปรุงเปลี่ยนแปลงหรือทำการแก้ไข เพื่อความเหมาะสมกับสภาวะแวดล้อมอยู่เสมอ งานขั้นนี้ เจ้าของระบบมักจะไม่สนใจและไม่ทราบว่าจะมีปัญหาเกิดขึ้นตามมาในภายหลัง จึงมักไม่ได้มีการตกลงกันไว้ในสัญญาการทำงานการวิเคราะห์และออกแบบระบบ เพื่อให้นักวิเคราะห์ระบบได้เตรียมงานสำหรับเรื่องนี้ไว้เพราะเกรงว่าจะเป็นการสิ้นเปลืองค่าใช้จ่ายในการวิเคราะห์และออกแบบระบบเพิ่มขึ้นโดยไม่จำเป็นแล้วถ้านักวิเคราะห์ระบบไม่ได้จัดเตรียมสำหรับงานขั้นนี้ไว้ในขั้นตอนของการออกแบบระบบด้วยแล้ว เมื่อมีปัญหาเกิดขึ้นมาจริง ๆ เจ้าของระบบมักจะขอร้องให้นักวิเคราะห์ระบบกลับเข้าไปช่วยทำการแก้ไขปรับปรุงระบบให้ใหม่ ซึ่งในสถานการณ์เช่นนี้ นักวิเคราะห์ระบบงานอาจจะต้องทำการวิเคราะห์และออกแบบระบบกันใหม่ตั้งแต่ต้นก็ได้ ซึ่งจะทำให้เสียค่าใช้จ่ายเพิ่มมากขึ้น

วงจรการพัฒนาระบบ System Development Life Cycle - SDLC 

วงจรการพัฒนาระบบ System Development Life Cycle - SDLC (ชิสเต็ม เดวาดอบเม้น ลีส ไชเคิล เอสดีแอลชี) ระบบสารสนเทศทั้งหลายมีวงจรชีวิตที่เหมือนกัน ตั้งแต่เกิดจนตาย วงจรนี้จะเป็นขั้นตอนที่เป็นลำดับตั้งแต่ต้นจนเสร็จเรียบร้อยเป็นระบบที่ใช้งานได้ ซึ่งนักวิเคราะห์ระบบ ต้องทำความเข้าใจให้ดีว่าในแต่ละขั้นตอนจะต้องทำอะไร และทำอย่างไร

 ขั้นตอนการพัฒนาระบบมีอยู่ด้วยกัน 7 ขั้นตอน 

     1. เข้าใจปัญหา (Problem Recognition)

     2. ศึกษาความเป็นไปได้ (Feasibility Study) 

     3. วิเคราะห์ (Analysis)

     4. ออกแบบ (Design) 

     5. สร้าง หรือพัฒนาระบบ (Construction) 

     6. การปรับเปลี่ยน (Conversion) 

     7. บำรุงรักษา (Maintenance)

กิจกรรมต่าง ๆ ของระบบการประมวลผลข้อมูล 

กิจกรรมที่นักวิเคราะห์ระบบ จะต้องเข้าไปเกี่ยวข้อง แบ่งออกเป็นประเด็นใหญ่ ๆ ได้ 6 ประเด็น ได้แก่ 

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

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

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

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

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

6. ท้ายสุดนักวิเคราะห์ระบบงานจะต้องติดตามผลงานการปฏิบัติงานของระบบที่ได้ติดตั้งไว้ และวางแผนในการบำรุงรักษาระบบ (System Follow Up and Maintenance) ไปชั่วระยะเวลาหนึ่ง คือ เมื่อระบบงานได้ติดตั้งและเริ่มปฏิบัติงานไปตามแผนงานที่ได้ออกแบบระบบไว้ใหม่แล้ว หน้าที่ของนักวิเคราะห์ระบบจะยังไม่สิ้นสุดลงเพียงเท่านั้น จะต้องคอยติดตามการปฏิบัติงานของระบบนั้นไปอีกชั่วระยะเวลาหนึ่ง เพื่อทำการปรับปรุงเปลี่ยนแปลงหรือทำการแก้ไข เพื่อความเหมาะสมกับสภาวะแวดล้อมอยู่เสมอ งานขั้นนี้ เจ้าของระบบมักจะไม่สนใจและไม่ทราบว่าจะมีปัญหาเกิดขึ้นตามมาในภายหลัง จึงมักไม่ได้มีการตกลงกันไว้ในสัญญาการทำงานการวิเคราะห์และออกแบบระบบ เพื่อให้นักวิเคราะห์ระบบได้เตรียมงานสำหรับเรื่องนี้ไว้เพราะเกรงว่าจะเป็นการสิ้นเปลืองค่าใช้จ่ายในการวิเคราะห์และออกแบบระบบเพิ่มขึ้นโดยไม่จำเป็นแล้วถ้านักวิเคราะห์ระบบไม่ได้จัดเตรียมสำหรับงานขั้นนี้ไว้ในขั้นตอนของการออกแบบระบบด้วยแล้ว เมื่อมีปัญหาเกิดขึ้นมาจริง ๆ เจ้าของระบบมักจะขอร้องให้นักวิเคราะห์ระบบกลับเข้าไปช่วยทำการแก้ไขปรับปรุงระบบให้ใหม่ ซึ่งในสถานการณ์เช่นนี้ นักวิเคราะห์ระบบงานอาจจะต้องทำการวิเคราะห์และออกแบบระบบกันใหม่ตั้งแต่ต้นก็ได้ ซึ่งจะทำให้เสียค่าใช้จ่ายเพิ่มมากขึ้น

หลักการวิเคราะห์และออกแบบระบบสารสนเทศและซอฟต์แวร์

1. การวิเคราะห์ระบบงาน 

คำว่า วิเคราะห์มาจากคำว่า พิเคราะห์ ซึ่งเป็นการเปลี่ยน พ เป็น ว ในภาษาไทยซึ่งแปลความหมายได้ว่า การพินิจพิเคราะห์ การพิจารณา การใคร่ครวญ การไต่สวนความหรือเรื่องราว ส่วนในภาษาอังกฤษก็ได้ให้ความหมายใกล้เคียงกันคือ Determine, Examine และ Investigate ซึ่งคำว่าวิเคราะห์นี้สามารถนำไปใช้กับวิชาการต่าง ๆ ได้มากมาย เช่น การวิเคราะห์โครงสร้าง การวิเคราะห์เชิงคุณภาพ การวิเคราะห์เชิงปริมาณ การวิเคราะห์ปัญหา เป็นต้น 

คำว่า “วิเคราะห์” ที่ใช้กับการวิเคราะห์ระบบนั้น ตรงกับภาษาอังกฤษว่า “Analysis” ซึ่งแปลว่า การแยกสิ่งที่ประกอบกันออกเป็นส่วน ๆ เช่น การแยกระบบใหญ่ออกเป็นส่วนย่อย ๆ คือ เป็นการแยกปัญหาออกเป็นส่วน ๆ เพื่อสะดวกในการพิจารณาหรือตัดสินใจ จามความหมายของคำว่าวิเคราะห์ดังกล่าวนี้ จะเห็นว่า การวิเคราะห์ระบบงานไม่ใช่เรื่องที่ยุ่งยากหรือเรื่องที่สลับซับซ้อนแต่ประการใด 

การพิจารณาใคร่ครวญในปัญหาต่าง ๆ ของคนเรานั้น มีวิธีการใหญ่ ๆ อยู่ด้วยกัน 2 วิธี คือ 

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

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

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

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

การวิเคราะห์และออกแบบระบบ (System Analysis and Design) หมายถึง วิธีการที่ใช้ในการสร้างระบบสารสนเทศขึ้นมาใหม่ในธุรกิจใดธุรกิจหนึ่ง หรือในระบบย่อยของธุรกิจ นอกจากการสร้างระบบสารสนเทศใหม่แล้วการวิเคราะห์ระบบช่วยในการแก้ไขระบบสารสนเทศเดิมที่มีอยู่แล้วให้ดีขึ้นด้วยก็ได้ การวิเคราะห์ระบบ คือ การหาความต้องการ (Requirements) ของระบบสรสนเทศว่าคืออะไร หรือต้องการเพิ่มเติมอะไรเข้ามาในระบบ

2. การออกแบบระบบงาน 

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

ความต้องการของระบบ เช่น สามารถติดตามยอกขายได้เป็นระยะ เพื่อให้ฝ่ายบริหารสามารถปรับปรุงการขายได้ทันท่วงที

Data Flow Diagram คืออะไร ?

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

Data Flow Diagram ที่มีการไหลของข้อมูลมักใช้เพื่อแสดงการไหลของข้อมูลในระบบข้อมูลทางธุรกิจ ดังที่แสดงในตัวอย่าง Data Flow Diagram ของกระแสข้อมูลด้านล่าง Data Flow Diagram เหล่านี้แสดงวิธีการประมวลผลข้อมูลภายในระบบโดยใช้ชุดของอินพุตและเอาต์พุต

Data Flow Diagram มีประโยชน์อะไร ?

กำหนดขอบเขต

การใช้ไดอะแกรมการไหลของข้อมูลช่วยอธิบายและกำหนดขอบเขตของระบบ หากไม่มีแผนภาพการไหลของข้อมูล บริษัทอาจมีปัญหาในการทำความเข้าใจว่าระบบเริ่มต้นและสิ้นสุดที่ใด การกำหนดขอบเขตเฉพาะทำให้มีการกำหนดขอบเขตที่ชัดเจน

ปรับปรุงการสื่อสาร

ไดอะแกรมการไหลของข้อมูลสามารถช่วยส่งเสริมการสื่อสารแบบกราฟิกระหว่างผู้ออกแบบระบบและผู้ใช้ สิ่งนี้สามารถช่วยให้วิศวกรและนักพัฒนาเข้าใจความต้องการและความต้องการของผู้ใช้

เครื่องมือสร้างภาพที่มีประสิทธิภาพ

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

แสดงถึงตรรกะ

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

สัญลักษณ์แผนภาพการไหลของข้อมูล

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

ระดับของแผนภาพการไหลของข้อมูล

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

ไดอะแกรมการไหลของข้อมูลระดับ 0

ระดับ 0 มักจะเป็นระดับบริบทของไดอะแกรมการไหลของข้อมูล ซึ่งจะไม่มีการโฟกัสและโดยทั่วไปจะไม่เป็นศูนย์ในส่วนใดส่วนหนึ่งของระบบ ที่ระดับ 0 ไดอะแกรมการไหลของข้อมูลอย่างง่ายจะให้ภาพรวมพื้นฐานของระบบ ที่ใส่ไว้ในบริบทและแสดงกระบวนการระดับสูงเพียงขั้นตอนเดียว

ไดอะแกรมการไหลของข้อมูลระดับ 1

ระดับที่ 1 ของไดอะแกรมคือจุดที่สิ่งต่าง ๆ มีรายละเอียดมากขึ้น และจะเริ่มมีการโฟกัสแผนที่มากขึ้น ระดับ 1 เน้นหน้าที่หลักภายในกระบวนการหรือระบบ ระดับ 1 ของไดอะแกรมการไหลของข้อมูลคือส่วนที่เเฉพาะจาะจงของภาพรวมระดับ 0 ซึ่งเริ่มมีการแยกย่อยและแสดงคำอธิบาย

ไดอะแกรมการไหลของข้อมูลระดับ 2

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

ประเภทของไดอะแกรมการไหลของข้อมูล

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

ไดอะแกรมการไหลของข้อมูลเชิงตรรกะ

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

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

ไดอะแกรมการไหลของข้อมูลทางกายภาพ

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

ไดอะแกรมการไหลของข้อมูลชิงกายภาพและเชิงตรรกะจะให้มุมมองที่แตกต่างกันของการไหลของข้อมูลเดียวกัน สามารถใช้ร่วมกันเพื่อสร้างความเข้าใจแบบองค์รวมของกระบวนการทั้งหมด

"Data Dictionary" พจนานุกรมข้อมูล คืออะไร ?

หลายคนที่เริ่มหันมาสนใจอยากเป็นนักวิทยาศาสตร์ข้อมูล หรือ Data Scientist นั้นมักจะเกิดความสับสนว่าตนเองจะต้องเริ่มเรียนรู้จากเรื่องอะไรก่อน เนื่องจากความรู้ในสายงานนี้มีจำนวนมากตั้งแต่การเขียนโปรแกรม ความรู้ทางด้านสถิติ รวมไปถึงทักษะที่เกี่ยวข้องกับการประยุกต์ใช้ข้อมูลกับการใช้งานจริงในชีวิตประจำวัน ซึ่งในความเป็นจริงนั้นความรู้พื้นฐานที่นักวิทยาศาสตร์ทุกคนควรจะเริ่มต้นทำความรู้จักและความคุ้นเคยเป็นอันดับแรกเลยก็คือเรื่องของรายละเอียดเกี่ยวกับตัวข้อมูล เนื่องจากข้อมูลเป็นเหมือนทรัพยากรที่นักวิทยาศาสตร์ข้อมูลจำเป็นต้องศึกษาเพื่อเปลี่ยนให้เกิดเป็นโมเดลมาวิเคราะห์แก้ปัญหา โดยพื้นฐานเลยว่าเราจะจัดการข้อมูลได้นั้นเราจำเป็นต้องเริ่มทำความรู้จักกับ “Data Dictionary” หรือเรียกง่าย ๆ ว่า Data Dic กันก่อน หลายคนอาจจะสงสัยแล้วว่า “Data Dictionary” มันคืออะไร

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

Data Dictionary คือพจนานุกรมข้อมูลซึ่งเป็น Metadata ประเภทหนึ่งที่จะอธิบายชุดข้อมูลผ่านรูปแบบของตาราง ซึ่ง Data Dictionary อาจจะอยู่ในรูปแบบของไฟล์ CSV Excel JSON หรือ XML ก็ได้ โดยความแตกต่างระหว่าง Metadata กับ Data Dictionary คือ Metadata จะเป็นการอธิบายถึงความเป็นมารวมไปถึงสถานะของข้อมูล แต่ Data Dictionary จะเป็นการอธิบายข้อมูลในเชิงรายละเอียดจนสามารถเชื่อมโยงนำไปใช้ได้กับชุดข้อมูลแหล่งอื่นได้

ตัวอย่างของ “Metadata” กับ “Data Dictionary” 

ตัวอย่างของ “Metadata”

ตัวอย่างของ “Data Dictionary” 

สรุป

Data Dictionary เป็นพจนานุกรมที่คอยขยายความว่าข้อมูลที่เราได้รับมานั้นมีคำอธิบายว่าอะไรบ้าง รวมไปถึงชุดข้อมูลนั้นอยู่ในรูปแบบใด ซึ่งจะมีความแตกต่างกับ Metadata เพียงเล็กน้อยตรงที่ Metadata เป็นการอธิบายข้อมูลในภาพรวมทั่วไป แต่ Data Dictionary เป็นการอธิบายลงลึกในเชิงรายละเอียดจนสามารถนำไปใช้กับชุดข้อมูลอื่นได้ 

 แต่ทั้ง Data Dictionary และ Metadata มีความสำคัญต่อการทำวิเคราะห์ข้อมูลมากเพราะทั้ง 2 สิ่งเป็นตัวช่วยอำนวยความสะดวกในการทำความเข้าใจข้อมูล รวมไปถึงลดระยะเวลาในการเตรียมข้อมูล ดังนั้นการศึกษาเรื่องเหล่านี้จึงถือเป็นพื้นฐานสำคัญในการเป็นนักวิทยาศาสตร์ข้อมูล

 โมเดลฐานข้อมูลเชิงสัมพันธ์

โมเดลข้อมูลเชิงสัมพันธ์ (Entity Relationship Model) หรือ E-R Model ถูกน าเสนอโดย Chen (1976) และได้รับการพัฒนาจะสมบูรณ์ในปี 1979 เพื่อใช้ในการอธิบายฐานข้อมูลในรูปแบบแผนภาพ เรียกว่า E-R diagram นั้นคือมนุษย์พยายาม เขียนสร้างที่เป็นจินตภาพ (ในที่นี้คือมุมมองที่เขามองฐานข้อมูล) ให้เป็นกายภาพ ในรูปแผนภาพ แผนภาพ ER ดังกล่าวใช้พื้นฐานของโมเดลข้อมูลเชิงตรรกะ (Logical Data Model) ของ Fleming ที่เสนอไว้ในปี 1989 เป็นวิธีการแสดงความต้องการสารสนเทศในระบบธุรกิจให้เป็นแผนภาพ ในขั้นตอนการวิเคราะห์และออกแบบระบบฐานข้อมูล เน้นตัวข้อมูลที่มีอยู่จริงโดยไม่คำนึงถึงรายละเอียดในการ ติดตั้ง,ความต้องการพิเศษอื่นในแง่การใช้งาน และความเร็วในการสืบค้นข้อมูล หรืออาจกล่าวอีกนัยหนึ่ง ว่าโมเดลข้อมูลเชิงตรรกะเป็นการสร้างโครงร่างวิวของ ผู้ใช้ (Skeletal User View) จะแสดงข้อมูลในขอบเขตที่ผู้ออกแบบสนใจโดยมีสิ่งที่ต้องกำหนดเป็นพื้นฐาน ได้แก่ เอนทิตี้, รีเลชั่นชิป, แอททริบิวต์ ในแง่ของ ER-Diagram ประกอบด้วย

เอนทิตี้ (Entity) คือ สิ่งที่มีอยู่จริง จับต้องได้ หรือเป็นจินตภาพที่แสดงความเป็นหนึ่งเดียว เมื่อกล่าวถึงแล้วทุกคนเข้าใจตรงกัน เช่น สินค้า, วัตถุดิบ, แผนกต่าง ๆ, การสั่งซื้อ

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

แอททริบิวต์ (Attribute) คือกลุ่มของค่าความจริงใด ๆ ที่เป็นรายละเอียดของเอนทิตี้ซึ่งแสดงลักษณะ และ คุณสมบัติของเอนทิตี้ ท าให้เข้าใจเอนทิตี้ได้ลึกซึ้งยิ่งขึ้น และเป็นสิ่งที่ไม่สามารถแตกย่อยลงไปได้อีกโดยไม่เสียความหมายไป เช่น รหัสสินค้า, สถานที่เก็บ, ชื่อสินค้า, ราคานอกจากนั้นยังมีการระบุด้วยว่าแอททริบิวต์ใดเป็นคีย์ก าหนดกฎข้อบังคับต่าง ๆ ของเอนทิตี้และรีเลชั่นชิป

การเปลี่ยนจากความสัมพันธ์เป็นตาราง

การเปลี่ยนจากความสัมพันธ์เป็นตาราง มีแนวทางในการทำดังนี้

1) ความสัมพันธ์เป็นแบบกลุ่มต่อกลุ่ม (M : N)

ให้นำความสัมพันธ์นั้นมาสร้างเป็นตารางใหม่ โดยน าไพรมารี่คีย์ของเอนทิตี้ที่มีความสัมพันธ์กับความสัมพันธ์นั้นมากำหนด เป็นพรอพเพอตี้ของตารางใหม่ พร้อมทั้งกำหนดให้ทำหน้าที่เป็นไพรมารี่คีย์หากความสัมพันธ์นั้นมีพรอพเพอตี้ของความสัมพันธ์ด้วย ก็นำพรอพเพอตี้นั้นมาเป็น แอททริบิวต์ของตารางใหม่ด้วย

2) ความสัมพันธ์เป็นแบบหนึ่งต่อกลุ่ม (1 : N)

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

3) ความสัมพันธ์เป็นแบบหนึ่งต่อหนึ่ง (1 : 1)

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

การอธิบายการประมวลผล (Process Description)

    การวิเคราะห์ความต้องการของผู้ใช้โดยการใช้แผนภาพการไหลของข้อมูล (Data Flow Diagram) โดยการเขียนสัญลักษณ์การประมวลผลนั้นจะเขียนเพียงหัวข้อในการประมวลผลเท่านั้น ยังไม่มีการเขียนคำอธิบายโดยละเอียด ซึ่งเราสามารถเขียนอธิบายโดยละเอียดได้ด้วยการเขียนคำอธิบายการประมวลผล (Process Description) หรือ Process Specification

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

จุดมุ่งหมายในการใช้การอธิบายการประมวลผลนั้นสรุปได้ 3 ข้อคือ

1. เพื่อให้การประมวลผลนั้นชัดเจน เข้าใจง่าย

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

2. เพื่อให้เกิดความเข้าใจถูกต้องในการอธิบายในรูปแบบเฉพาะของการประมวลผลนั้นระหว่างนักวิเคราะห์ระบบและโปรแกรมเมอร์

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

3. เพื่อตรวจสอบการออกแบบระบบ

โดยการประมวลผลนั้นจะถูกต้องหรือไม่ในด้านข้อมูลที่ป้อนเข้าเครื่อง การออกรายงานทั้งหน้าจอ และการพิมพ์รายงานนั้นจะเป็นไปตามการวิเคราะห์ตามแผนภาพการไหลของข้อมูล (Data Flow Diagram) หรือไม่ จะสามารถตรวจสอบได้จากการอธิบายการประมวลผลนี้

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

วิธีการที่ใช้อธิบายการประมวลผลที่จะกล่าวในที่นี้มีอยู่ด้วยกัน 2 วิธีคือ

1. ประโยคโครงสร้าง (Structure Sentences)

2. การตัดสินใจแบบตาราง (Description Tables)

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

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

1. ความชอบของผู้ใช้

2. ความชอบของผู้เขียน (นักวิเคราะห์ระบบ)

3. ลักษณะการทำงานของโพรเซส

ประโยคโครงสร้าง (Structure Sentence)

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

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

GET , COMPUTE, PUT, DELET, FIND, VALIDATE,DIVEIDE

ADD, MOVE, SUBTRACT, REPLACE, MULTIPLY, SET,SORT

 ใช้ชื่อข้อมูลเป็นคำนามในประโยค ตัวอย่างเช่น วันชำระเงินใบทวงหนี้ รายงานเพื่อเตรียมเงินสด เป็นต้น

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

 ใช้คำที่บอกการเคลื่อนที่ของข้อมูลคล้ายกับคำที่ใช้ในการเขียนโปรแกรมได้แก่

1. ถ้า……..มิฉะนั้น (If……else……..)

2. กรณี…. (case)

3. ทำซ้ำ (Do…..Loop)

4. ทำตามลำดับ (Sequence)

ตัวอย่างที่ 1 ประโยคโครงสร้างที่ทำงานตามลำดับ


1. อ่านข้อมูลจาก Employee

2. คำนวณหาเงินเดือน

3. ค่าจ้าง = จำนวนชั่วโมงที่ทำงาน X อัตราค่าจ้างต่อชั่วโมง

4. เงินเดือน = ค่าจ้าง X อัตราภาษี

5. พิมพ์รายงานแสดงเงินเดือน


ตัวอย่างที่ 2 ประโยคโครงสร้างที่ทำงานตามลำดับและมีการใช้เงื่อนไข If…Else

1. ใช้ข้อมูล - A และข้อมูล - B เพื่อคำนวณข้อมูล - C

2. ตรวจสอบข้อมูล - C

3. If ข้อมูล - C

4. ให้เก็บในไฟล์

5. Else

6. ให้พิมพ์ข้อผิดพลาด

7. คำนวณผลรวม

**ขอขอบคุณเจ้าของข้อมูลทุก ๆ แหล่งที่มา รวมไปถึงเจ้าของสื่อการเรียนรู้ทุกชิ้นเป็นอย่างสูง**