วิชา 204203 การออกแบบและพัฒนาซอฟต์แวร์ บทที่ 4 การเขียนผังงาน วิชา 204203 การออกแบบและพัฒนาซอฟต์แวร์
การเขียนผังงาน ผังงาน (Flowchart) DSD (Design Structure Diagram) Pseudocodes และ PDL (Program Design Language)
ความหมายผังงาน ผังงาน คือ รูปภาพหรือสัญลักษณ์ที่ใช้แทนลำดับ หรือขั้นตอนในโปรแกรม รูปภาพ หรือสัญลักษณ์ที่จะใช้เป็นเอกลักษณ์ และแทนความหมายอย่างใดอย่างหนึ่ง
ประเภทผังงาน ผังงานระบบ (System Flowchart) แสดงถึงขั้นตอนการทำงานภายในระบบงานหนึ่ง ๆ แต่ละจุดประกอบด้วย Input-Process-Output ไม่สามารถเขียนโปรแกรมจากผังงานระบบได้ ผังงานโปรแกรม (Program Flowchart) แสดงถึงขั้นตอนของคำสั่งที่ใช้ในโปรแกรม อาจสร้างมาจากผังงานระบบ นำไปเขียนโปรแกรมคำสั่งให้คอมพิวเตอร์ทำงานต่อไป
ประโยชน์ของผังงาน รู้และเข้าใจได้ง่าย ง่ายและสะดวกต่อการพิจารณาถึงลำดับขั้นตอนในการทำงาน ตรวจสอบความถูกต้องของลำดับขั้นตอนได้ง่าย การเขียนโปรแกรมทำได้รวดเร็วและง่ายขึ้น บำรุงรักษาหรือเปลี่ยนแปลงได้ง่ายขึ้น
ข้อจำกัดของผังงาน ใช้สื่อความหมายระหว่างบุคคลมากกว่าที่จะสื่อกับเครื่อง ไม่ทราบความสำคัญของแต่ละขั้นตอน สิ้นเปลือง เพราะใช้กระดาษและอุปกรณ์มาก ผังงานขนาดใหญ่ ปรับเปลี่ยนแก้ไขทำได้ยาก ในผังงานจะบอกเพียงลำดับอย่างไร และปฏิบัติงานอะไร ผังงานไม่สามารถแทนลักษณะคำสั่งในภาษาได้ชัดเจนตรงไปตรงมา
สัญลักษณ์ที่ใช้ในการเขียนผังงาน หน่วยงานที่รวบรวมและกำหนดมาตรฐาน American national Standard Institute (ANSI) International Standard Organization (ISO)
หลักเกณฑ์ทั่วไปของการเขียนผังงาน การกำหนดค่าเริ่มแรก การรับข้อมูล การประมวลผล การแสดงค่าของข้อมูล การทดสอบ
การจัดภาพและทิศทางของผังงาน จากบนมาล่าง จากซ้ายไปขวา และควรเขียนลูกศรกำกับทิศทาง สัญลักษณ์มีขนาดต่างกันได้ แต่ต้องมีรูปตามมาตรฐานที่กำหนด หลีกเลี่ยงการโยงไปมาในทิศทางตัดกัน คำอธิบายในภาพเขียนเพียงสั้น ๆ และเข้าใจง่าย ควรมีความเป็นระเบียบเรียบร้อยและสะอาด และควรมีชื่อของผังงาน ผู้เขียน วันที่ที่เขียน และเลขหน้าลำดับ
แผนภาพการออกแบบโครงสร้าง (DSD) การเรียงลำดับ การทดสอบเงื่อนไข IF-THEN-ELSE และ IF-THEN การทดสอบหลายเงื่อนไข DO CASE - END CASE การซ้ำ FOR-NEXT
การซ้ำ (ต่อ) REPEAT UNTIL และ WHILE การตรวจสอบต้นเงื่อนไข การตรวจสอบปลายรอบ การตรวจสอบกลางรอบ คำสั่งเรียกโปรแกรมย่อย และการอธิบายเพิ่ม
ซูโดโค้ด และ PDL การเรียงลำดับ การตัดสินใจแบบทดสอบทางเลือก คำสั่งทำซ้ำ ๆ FOR และ END FOR REPEAT-UNTIL WHILE - END WHILE โปรแกรมย่อยหรือโมดูล