บทที่ 6

หลักการเขียนผังงานระบบ

 

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

 

ประเภทของผังงาน

 

โดยทั่วไปผังงานคอมพิวเตอร์แบ่งเป็น 2 ประเภทใหญ่

1.        ผังงานระบบ (System Flowchart)

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

2.        ผังงานโปรแกรม (Program Flowchart) หรือเรียกสั้นๆ ว่า ผังงาน

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

 

การใช้ผังงานระบบ

 

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

       

ตัวอย่าง ผังงานระบบและผังงานโปรแกรมของการคำนวณพื้นที่สามเหลี่ยม 100 รูป

 

                        ผังงานระบบ                                                                        ผังงานโปรแกรม

 

 

 

 

 

 

 


                ครบ 100 รูป         

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ประโยชน์และข้อจำกัดของผังงานระบบ

 

                ผังงานระบบเป็นเอกสารประกอบโปรแกรม ซึ่งจะช่วยให้การศึกษาลำดับขั้นตอนของโปรแกรมง่ายขึ้น จึงนิยมเขียนผังงานระบบประกอบการเขียนโปรแกรม ด้วยเหตุผลดังนี้

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

 

ข้อจำกัดของผังงานระบบ

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

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

 

สัญลักษณ์ที่ใช้ในการเขียนผังงานระบบ

 

        การเขียนผังงานระบบต้องใช้สัญลักษณ์ต่างๆ นำมาเรียงกัน เพื่อแสดงลำดับขั้นตอนการทำงาน โดยมีลูกศรเชื่อมระหว่างภาพต่างๆ สัญลักษณ์ที่ใช้ในการเขียนผังงานระบบที่นิยมใช้กันนั้น เป็นสัญลักษณ์ของหน่วยงานสถาบันมาตรฐานแห่งชาติสหรัฐอเมริกา (American National Standard Institute: ANSI) และองค์การมาตรฐานนานาชาติ (International Standard Organization: ISO) หน่วยงานดังกล่าว ทำหน้าที่รวบรวมและกำหนดสัญลักษณ์มาตรฐานที่จะใช้เขียนผังงานระบบ ดังนี้

 

ตารางที่ 6.1 แสดงสัญลักษณ์และความหมายของผังงานระบบ

 

สัญลักษณ์

ความหมาย

ตัวอย่างการใช้

คำอธิบาย

 

 

 

 


แสดงการเริ่มต้น หรือ

การสิ้นสุดของการเขียนผังงานระบบ (Terminal, Interrupt)

แผนผังลำดับงาน: สิ้นสุด: STOPแผนผังลำดับงาน: สิ้นสุด: START

  1. เริ่มผังงานระบบ
  2. จบผังงานระบบ

 

 

 

 

 

การรับข้อมูลหรือแสดงข้อมูล

(Input/Output Media)

แผนผังลำดับงาน: ข้อมูล: PUNCH Bแผนผังลำดับงาน: ขั้นตอนที่ทำด้วยตนเอง: READ A

  1. รับ(อ่าน)ค่า A โดยไม่ระบุสื่อที่บันทึกค่า A
  2. แสดงค่า B โดยไม่ระบุสื่อ

 

 

 

 

 

 


การรับข้อมูลหรือแสดงข้อมูล

โดยใช้บัตรเจาะรูเป็นสื่อ

(Punch Card)

แผนผังลำดับงาน: บัตร: READ A

รับ(อ่าน)ค่า A ที่บันทึก

บนบัตร 1 ใบ

 

 

 

 

 

 


การรับข้อมูลหรือแสดงข้อมูล

โดยใช้เทปกระดาษ

(Punch Tape)

แผนผังลำดับงาน: เทปเจาะรู: READ ID

อ่านค่า ID ที่บันทึกบนเทปกระดาษ

 

 

 

 

 

 


การรับข้อมูลหรือแสดงข้อมูล

โดยใช้เทปแม่เหล็กเป็นสื่อ

(Magnetic Tape)

 

 

 

 

 

 

 

 


การแสดงข้อมูลหรือผลลัพธ์

พิมพ์ทางเครื่องพิมพ์ลงบน

กระดาษต่อเนื่อง

(Continuous Paper)

แผนผังลำดับงาน: เอกสาร: WRITE A

ให้พิมพ์ค่า A ทาง

กระดาษต่อเนื่อง

 

 

 

 

 


การแสดงผลลัพธ์ทาง

จอภาพ (Display)

แผนผังลำดับงาน: จอภาพ: SHOW A

แสดงค่า A ทางจอภาพ

 

 

 

 

 


แสดงผลการประมวลผล

เช่น การคำนวณ หรือ

การกำหนดค่า

SUM = 0

 

C = A + B

 

  1. คำนวณค่า A บวกค่า B
  2. กำหนดให้

      SUM = 0

เส้นแสดงทิศทางสำคัญ

ของการทำงานตาม

ปลายลูกศร (Flow Line)

 

 

แสดงจุดต่อเนื่องจาก ที่

หนึ่งไปยังอีกที่หนึ่งของ

ผังงาน ระบบหนึ่งๆ ที่ไม่

สะดวก จะใช้เส้นโดย

หมายถึง จุดต่อเนื่องที่

อยู่ในหน้าเดียวกัน

แผนผังลำดับงาน: ตัวเชื่อมต่อ: Aแผนผังลำดับงาน: เอกสาร: WRITE A

หลังจากพิมพ์ค่า A แล้ว

ให้ทำตามที่จุดต่อเนื่อง

ชื่อ ซึ่งอยู่ในหน้าเดียว

กัน

แสดงจุดต่อเนื่องที่อยู่

คนละหน้า (Off – Page

Connector)

แผนผังลำดับงาน: ตัวเชื่อมไปหน้าอื่น: B

หลังจากกำหนดค่า

A = 3 แล้ว ให้ไปทำตาม

จุดต่อเนื่องชื่อ B ซึ่ง

ไม่ได้อยู่หน้าเดียวกัน

การอธิบายส่วนใดส่วนหนึ่ง

ในผังงานระบบเพิ่มเติม

หรือเป็นการหมายเหตุ

(Annotation or Comment)

แผนผังลำดับงาน: บัตร: READ A

A=AGE

 

ค่า A คือค่าของ AGE

 

หลักเกณฑ์ในการวิเคราะห์งาน

 

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

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

  1. สิ่งที่โจทย์ต้องการ หมายถึง สิ่งที่ต้องการให้เครื่องคอมพิวเตอร์ทำให้ เช่น ต้องการให้คำนวณคะแนนเฉลี่ยของนักศึกษา ต้องการให้คำนวณเงินเดือนและค่าแรง เป็นต้น งานแต่ละชิ้นอาจต้องการใช้เครื่องทำงานให้มากกว่าหนึ่งอย่าง ซึ่งควรจะเขียนไว้เป็นข้อ ๆ ให้ชัดเจน การพิจารณาถึงสิ่งที่โจทย์ต้องการเป็นส่วนที่สำคัญมาก เพราะถ้าไม่ทราบก็ไม่สามารถจะทำขั้นตอนต่อไปได้เลย หรือถ้าเข้าใจส่วนนี้ผิดก็จะทำให้งานขั้นตอนต่อไปผิดหมด
  2. ผลลัพธ์ที่ต้องแสดง (Output) หมายถึง การวิเคราะห์ลักษณะของงาน หรือรูปแบบผลลัพธ์ที่ต้องการให้คอมพิวเตอร์แสดงออกมาว่าควรจะมีลักษณะอย่างไร มีรายละเอียดที่ต้องการให้แสดงในรายงานมากน้อยเพียงใด หรือรายละเอียดชนิดใดที่ไม่ต้องการให้แสดงออกมาในรายงาน ในกรณีนี้เป็นหน้าที่ของผู้เขียนโปรแกรมเองว่าจะต้องการรูปแบบของรายงานออกมาโดยมีรายละเอียดที่จำเป็นและสวยงามเพียงใด เนื่องจากรายงานหรือผลลัพธ์นี้มีความสำคัญต่อผู้บริหาร เนื่องจากผู้บริหารจะใช้รายงานหรือผลลัพธ์ไปช่วยในการตัดสินใจวิเคราะห์และแก้ไขปัญหาต่าง ๆ ได้
  3. ข้อมูลที่ต้องการนำเข้า (Input) หมายถึง ข้อมูลที่ต้องป้อนเข้ามาเพื่อใช้ในการประมวลผล ซึ่งเป็นขั้นตอนที่ต่อเนื่องจากการวิเคราะห์ลักษณะของผลลัพธ์ คือ เมื่อพิจารณาถึงลักษณะของ Output ที่แน่นอนแล้ว ข้อมูลที่ต้องนำเข้าไปก็ควรจะพิจารณาให้เหมาะสมกับผลลัพธ์ที่ต้องการแสดงด้วย ทั้งนี้อาจจะต้องพิจารณาถึงขั้นตอนในการประมวลผลควบคู่ไปด้วย
  4. ตัวแปรที่ใช้ (Variable) หมายถึง การกำหนดชื่อแทนความหมายของข้อมูลต่างๆ เพื่อความสะดวกในการอ้างถึงข้อมูลนั้น และการเขียนโปรแกรมด้วยการตั้งชื่อตัวแปรที่ใช้ควรคำนึงถึงความหมายที่เกี่ยวข้องกับข้อมูล การตั้งชื่อตัวแปรนี้จะขึ้นอยู่กับกฎเกณฑ์ของภาษาคอมพิวเตอร์ที่ใช้ในการเขียนโปรแกรม เพราะภาษาคอมพิวเตอร์แต่ละภาษามีกฎเกณฑ์และความสามารถในการตั้งตัวแปรแตกต่างกันไป แต่โดยทั่วๆ ไป การตั้งชื่อตัวแปรจะพิจารณาความหมายของข้อมูลว่าตรงกับคำใดในภาษาอังกฤษ แล้วนำมาดัดแปลงหรือย่อให้เข้ากับหลักเกณฑ์ของภาษาคอมพิวเตอร์ที่ใช้
  5. วิธีการประมวล (Processing) หมายถึง วิธีการประมวลผลโดยแสดงขั้นตอนต่าง ๆ ที่ต้องทำตามลำดับ เริ่มจากการรับข้อมูลนำไปประมวลผลจนได้ผลลัพธ์ ขั้นตอนนี้จะต้องแสดงการทำงานที่ต่อเนื่องตามลำดับ จึงต้องจัดลำดับก่อนหลังให้ถูกต้อง ในขั้นตอนของวิธีการนี้ ถ้ายิ่งกระทำให้ละเอียดก็จะช่วยให้การเขียนโปรแกรมยิ่งง่ายขึ้น

 

หลักทั่วไปในการเขียนผังงานระบบ

 

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

 

        ในการเขียนผังงานระบบที่ดี ควรมีหลักเกณฑ์ ดังนี้

1.        มีจุดเริ่มต้นและจุดสิ้นสุดการทำงานเพียงจุดเดียวในหนึ่งผังงานระบบ

2.        มีทางออกจากสัญลักษณ์ใดๆ เพียงทางเดียว ยกเว้นสัญลักษณ์แสดงการตัดสินใจสามารถมีทางออกตั้งแต่ 2 ทางได้

3.        มีการเข้าสู่สัญลักษณ์ใดๆ เพียงทางเดียว ถ้าต้องการกระทำกระบวนการเดียวกัน ควรใช้สัญลักษณ์ตัวเชื่อม

4.        ทิศทางลำดับของขั้นตอน ควรจะเริ่มจากบนลงล่าง ซ้ายไปขวา

5.        ข้อความที่บรรจุในสัญลักษณ์ควรสั้น กะทัดรัด เข้าใจง่าย

6.        ขนาดของสัญลักษณ์ที่ใช้ควรมีขนาดที่เหมาะสม สวยงาม

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

 

| กลับสู่หน้าแรก |