หน่วยที่ 1 กระบวนการแก้ปัญหา

หน่วยที่ 1 กระบวนการแก้ปัญหา
- วิเคราะห์และกำหนดรายละเอียดของปัญหาโดยการใช้วิธีวิเคราะห์
“SDLC : Software Develop Life Cycle”
- ออกแบบวิธีการแก้ปัญหาด้วยผังงาน - ดำเนินการแก้ปัญหา เขียนโปรแกรม - ตรวจสอบและปรับปรุง

ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์ “SDLC : Software Develop Life Cycle”

          1. การวิเคราะห์ปัญหา (Analysis the problem) กำหนดวัตถุประสงค์

              แนวคิด ดังนี้    "ข้อมูลดิบ Data > ประมวลผล Process > ข่าวสาร Information"

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


          2. ออกแบบโปรแกรม (Design a program)

               เครื่องมือที่ช่วยในการออกแบบโปรแกรม แบ่งได้เป็น 2 อย่าง

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

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

  • สัญลักษณ์ คือ เครื่องหมายรูปแบบต่างๆ ซึ่งใช้สำหรับสื่อความหมายให้เข้าใจตรงกัน สถาบันมาตรฐานแห่งชาติอเมริกัน (The American National Standard Institute, ANSI) ได้กำหนดสัญลักษณ์ไว้เป็นมาตรฐานแล้ว สมควรนำไปใช้ได้ตามความเหมาะสม เช่น ผังงาน (Flowchart)        

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


          3. การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ (Programming)

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



          4. การตรวจสอบข้อผิดพลาดของโปรแกรม (Testing and Debugging) การตรวจสอบแบ่งได้เป็นการตรวจสอบด้วยตนเองตรวจสอบทีละขั้นของโปรแกรมด้วยตนเอง และการตรวจสอบด้วยตัวแปลโปรแกรมโดยใช้ตัวแปลภาษา (Compiler หรือ Interpreter)

          สำหรับประเภทของข้อผิดพลาดได้แก่

  • Syntax error  เกิดจากการเขียนไวยากรณ์ของภาษาผิด ตรวจพบได้ในขณะทำการแปล (compile) โปรแกรมสามารถแก้ไขได้ง่ายที่สุด
  • Run-time error เป็นความผิดพลาดของโปรแกรมในระหว่างการปฎิบัติงาน ตรวจไม่พบในขณะทำการแปลโปรแกรม
  • Logical error เกิดจากการตีความหมายของปัญหาผิดไป เป็นข้อผิดพลาดที่แก้ไขได้ยากที่สุด


          5. การทดสอบความถูกต้องของโปรแกรม (Testing and Validating)

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



          6. การทำเอกสารประกอบโปรแกรม (Documentation)

                    จัดทำเอกสารประกอบโปรแกรมสำหรับผู้ใช้ (User Documentation) และเอกสารประกอบสำหรับผู้เขียนโปรแกรม (Technical Documentation)



          7. การบำรุงรักษาโปรแกรม (Program maintenance)

                    หลังจากที่มีการใช้งานโปรแกรมไปนาน ๆ แล้ว อาจต้องมีการปรับปรุงแก้ไขโปรแกรมให้ตรงตามความต้องการของผู้ใช้ที่อาจเปลี่ยนแปลงไป