ยินดีต้อนรับเข้าสู่บทเรียนออนไลน์
 


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

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

ตัวอย่าง  การหาค่าเฉลี่ยของจานวนเต็ม 5 จำนวน                          

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

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

          ในการออกแบบขั้นตอนวิธีในการแก้ปัญหา สามารถเขียนได้หลายวิธี เครื่องมือสำหรับช่วยในการเขียนอัลกอริทึมได้ง่ายขึ้น
และสื่อความหมายได้ชัดเจนที่ได้รับความนิยม มี 3แบบคือ
          1. ใช้ข้อความหรือคำบรรยาย (narrative description)
          2. ใช้ผังงาน (flowchart)
          3. ใช้รหัสจำลอง (pseudo code)
          การใช้เครื่องมือช่วยออกแบบดังกล่าวนอกจากแสดงกระบวนการที่ชัดเจนแล้ว ยังช่วยให้ ผู้แก้ปัญหาสามารถหาข้อผิดพลาดได้ง่าย
และแก้ไขได้อย่างรวดเร็ว

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

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

  • การทดสอบแบบกล่องดำ (Blackbox Testing) เป็นแนวคิดที่ต้องการทราบแต่เพียงว่า เมื่อนำข้อมูลเข้าสู่ระบบแล้วจะได้ผลลัพธ์
    ออกมาถูกต้องตามความต้องการหรือไม่
  • การทดสอบแบบกล่องขาว (Whitebox Testing) เป็นแนวคิดที่ต้องการทราบรายละเอียดทุกอย่างเพื่อหาข้อผิดพลาด (Error)
    ซึ่งจะต้องได้รับการปรับปรุงให้ตรงกับความต้องการของผู้ใช้งานตลอดเวลา ข้อผิดพลาดหรือ Error มีอยู่ 3 ลักษณะ ดังนี้
              - Syntax Error ข้อผิดพลาดทางไวยกรณ์ภาษา เกิดจากการเขียนชุดคำสั่งไม่ถูกต้องตามหลักไวยกรณ์ภาษาคอมพิวเตอร์
              - Run-time Error ข้อผิดพลาดระหว่างการปฏิบัติงาน
              - Logical Errorข้อผิดพลาดทางวิธีการคิดคือคำสั่งที่เกิดจากลักษณะของผลลัพธ์ที่ไม่ถูกต้องถือว่าเป็นข้อผิดพลาดที่แก้ไข
    ปรับปรุงได้ยากที่สุดเพราะโปรแกรมจะสามารถประมวลผลลัพธ์ออกมาได้แต่ไม่สามารถมั่นใจได้ว่าการประมวลผลนั้นจะถูกต้องจริงๆ