การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสาระสนเทศ

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

Tongue out1.2 หลักการแก้ปัญหาตามวิธีการทางวิศวกรรม ( Engineering problem solving ) วิธีเหมาะกับการแก้ปัญหาในการออกแบบผลิตภัณฑ์ สินคัา หรือเพื่อสร้างสิ่งใหม่หรือเพื่อการแก้ปัญหาในเชิงวิศวกรรม มีขั้นตอนดังนี้
             1. วิเคราะห์ปัญหา กำหนดรายละเอียดปัญหาให้ชัดเจนเป็นข้อๆ กำหนดความ ต้องการและข้อจำกัดในการแก้ปัญหาเป็นข้อๆวิเคราะห์ข้อมูลว่ามีข้อมูลใดที่มีอยุ่แล้วและใช้ได้อะไรคือสิ่งที่ยังไม่รู้และต้องการรู้
            2. สร้างแบบจำลองวิธีการแก้ปัญหา ( Define model ) อาจเป็นแบบจำลองทางคณิตศาสตร์ หรือบางกรณีต้องสร้างแบบจำลองย่อส่วนจากของจริง คิดค้นหาสูตรสมการที่จะใช้แก้ปัญหา เก็บข้อมูลที่ต้องใช้แก้ปัญหา
            3. คำนวณหาคำตอบโดยใช้แบบจำลอง วิธี และสมกาในข้อ 2 ตรวจสอบผลลัพธ์ที่ได้ว่าถูกต้องเหมาะสมหรือไม่
            4. ผลลัพธ์หรือคำตอบที่ได้มีเหตุผลว่าถูกต้องเหมาะสม จึงนำไปปฏิบัติ

Tongue out1.3 วิธีการแก้ปัญหาแบบสร้างสรรค์ ( Creative problem solving ) วิธีนี้เป็นวิธีแก้ปัญหาที่ใช้แนวคิดแบบสร้างสรรค์ สามารถนำไปใช้งานได้กว้างขวาง ซึ่งมีหลายวิธีเช่นกันในที่นี้ขอยกตัวอย่างวิธีของ Sidney J. Parness ดังนี้
            1. ใช้ความสังเกตอย่างพินิจพิเคราะห์ คือให้ตื่นตัวตกใจ ใช้ตาดูหูฟัง เพื่อให้มองเห็นปัญหาต่าง ๆ ที่เกิดขึ้น และมองเห็นวิธีแก้ปัญหาที่อาจเป็นไปได้
            2. ค้นหาความจริง โดยเก็บรวบรวมข้อมูล เช่น ทำการศึกษา ทดลอง หรือทำวิธีใดๆที่เหมาะสม
            3. ค้นหาปัญหา เพื่อดูว่าปัญหาที่แท้จริงคืออะไร สาเหตุของการเกิดคืออะไร
            4. ค้นหาแนวความคิดในการแก้ปัญหา โดยการคิดค้นวิธีการแก้ปัญหาหลายๆวิธีที่อาจใช้ได้ อย่าเพิ่งด่วนสรุปวิธีนั้นวิธีนี้ดีที่สุด ทำการประเมินและปรับปรุงแนวคิดให้ดีขึ้น
            5. ค้นหาวิธีการแก้ปัญหาที่เหมาะสม โดยการกำหนดเกณฑ์ในการเลือกวิธีใดวิธีหนึ่งจากวิธีที่คิดไว้หลายๆวิธี เช่น เลือวิธีที่เร็ว ราคาถูก และดีเพียงพอกับความต้องการ
            6. ค้นหาวิธีการยอมรับวิธีแก้ปัญหาที่เลือกไว้ โดยหาวิธีที่จะทำให้ตนเองและผู้เกี่ยวข้องยอมรับวิธีแก้ปัญหาที่เลือกไว้ร่วมกัน และตกลองแก้ปัญหาด้วยวิธีนั้นข้อเสียของวิธีนี้คือ ไม่กล่าวถึงวิธีการนำไปปฏิบัติ หรือการทดสอบวิธีการแก้ปัญหาที่
เลือกไว้ก่อนนำไปใช้จริง แต่มีจุดเด่นตรงที่ชาวยสรางแนวทางการแก้ปัญหาที่หลากหลาย ที่ผู้ใช้เลือกได้โดยอิสระ

Tongue out1.4 การแก้ปัญหาด้วยกระบวนการทางเทคโนโลยีสารสนเทศ การแก้ปัญหาที่ซับซ้อนด้วยวิธีการต่างๆ ที่กล่าวมาแล้ว ส่วนมากจำเป็นต้องใช้เทคโนโลยีสารสนเทศเข้าช่วยเพื่อเพิ่มความรวดเร็ว ถูกต้อง และสามารถทำซ้ำได้ง่าย             ในกระบวนการทางเทคโนโลยีสารสนเทศเข้าช่วยแก้ปัญหา จำเป็นต้องปรับรูปแบบวิธีการทำงานให้เหมาะสมกับการใช้เทคโนโลยีสารสนเทศ
            วิธีการแก้ปัญหาด้วยกระบวนการทางเทคโนโลยีสารสนเทศ เป็นวิธีคล้ายกับการแก้ปัญกาทางวิศวกรรมมาก แต่ในการนำระบบคอมพิวเตอร์ไปใช้ในการแก้ปัญหา หรือเพิ่มประสิทธิภาพในการทำงานใดๆ ก็ตาม จะต้องมีการวิเคราะห์ปัญหาและศึกษาความเป็นไปได้ให้รอบคอบเสียก่อน ทั้งนี้เนื่องจากคอมพิวเตอร์ไม่ใช้เครื่องมือวิเศษที่จะแก้ปัญหได้ทุกเรื่อง นอกจากนี้ยังจะต้องมีการศึกษาถึงความคุ้มค่าในการลงทุน เพื่อไม่ให้เป็นการลงทุนที่เสียเปล่า ต้องเลือกวิธีการแก้ปัญหาให้เหมาะสมกับงาน จัดหาเครื่องมือและเทคโนโลยีที่ไม่เกินความจำเป็น
           การแก้ปัญหาด้วยกระบวนการทางเทคโนโลยีสารสนเทศ เหมาะกับระบบงานที่ต้องทำงานอย่างใดอย่างหนึ่งซึ่งซากและมีปริมาณงานมากหรืองานที่ต้องการความรวดเร็วในการคำนวณเกินกว่าคนธรรมดาจะทำได้ วิธีการโดยทั้วไปคือ ปรับเปลี่ยนวิธีการหรือระบบการทำงานแบบเดิม มาใช้ระบบงานที่มีเครื่องคอมพิวเตอร์ช่วยทำงานเป็นบางส่วน หรือทั้งหมด เท่าที่สามารถจะทำแทนคนได้
            ดังนั้น การแก้ปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ จึงต้องมีการสร้างระบบงานคอมพิวเตอร์ขึ้นมาช่วยทำงานอย่างหลีกเลี่ยงไม่ได้ วิธีการโดยทั้วไป เราอาจไม่ต้องสร้างระบบงานทั้งหมดขึ้นใหม่ แต่พัฒนาระบบงานเดิมให้เป็นระบบงานที่ทำงานโดยคอมพิวเตอร์นิยมเรียกกันว่า การพัฒนาระบบงานคอมพิวเตอร์
           Surprised1.4.1 ขั้นตอนการพัฒนาระบบงานคอมพิวเตอร์ ตามหลักวิชาว่าด้วยการวิเคราะห์และออกแบบระบบงาน ( System analysis and design ) มีการจัดขั้นตอนการพัฒนาระบบงานคอมพิวเตอร์และสารสนเทศดังนี้
           1. วิเคราะห์ระบบงานหรือปัญหา ( System or problem analysis ) รวมถึงรายละเอียดข้อมูลที่ต้องใช้ โดยการศึกษาระบบงานเดิมอย่างละเอียด
           2. กำหนดรายละเอียดของความต้องการของผู้ใช้ระบบงาน ( Require-ments specification )
           3. ออกแบบขั้นตอนวิธีการทำงานของระบบใหม่
           4. ตรวจสอบขั้นตอนวิธีให้ได้ผลตามความต้องการ
           5. ออกแบบโปรแกรม ( Program design )
           6.เขียนชุดคำสั่ง ( Coding )
           7. ทดสอบโปรแกรม ( Testing ) และหาที่ผิดพลาด ( Debuugging )
           8. นำโปรแกรมและระบบงานไปใช้งานจริง ( Implementation oroperation )
           9. บำรุงรักษา ติดตามผล แก้ไขปรับปรุง ( Software maintenance and improvement ) เพื่อให้ทันสมัยใช้ได้ตลอดไป จะเห็นว่าการพัฒนาระบบสารสนเทศ จำเป็นจะต้องรู้ขั้นตอนวิธีการทำงานของระบบเดิม ตามด้วยการหาวิธีการแก้ปัญหาโดยใช้ระบบคอมพิวเตอร์และโปรแกรม จากนั้นจึงออกแบบวิธีการทำงานในระบบใหม่ให้ระเอียดซึ่งจะต้องมีการสร้างโปรแกรมคอมพิวเตอร์ขึ้นมาช่วยทำงานบางส่วน หรือทั้งหมด

         Surprised 1.4.2 ขั้นตอนการพัฒนาระบบงานโดยการจัดซื้อโปรแกรมสำเร็จรูป ในกรณีที่เราไม่ได้พัฒนาโปรแกรมเอง แต่เป็นการจัดซื้อโปรแกรมสำเร็จรูปมาใช้งาน เราอาจปรับเปลี่ยนขั้นตอนมาเป็นดังนี้
           1. วิเคราะห์ปัญหาและระบบงานที่จะทำ ( System or problem analysis ) รวมถึงรายละเอียดข้อมูลที่มีอยุ่
           2. กำหนดรายละเอียดของความต้องการของผู้ใช้ระบบงาน ( Require-ments specification )
           3. ออกแบบขั้นตอนวิธีการทำงานของระบบใหม่
           4. ตรวจสอบขั้นตอนวิธีว่าให้ผลตรงกับที่ต้องการ
           5. จัดหาโปรแกรมที่ทำงานตรงตามความต้องการ โดยการซื้อหรือจ้างทำ
           6. นำโปรแกรมและระบบงานไปใช้จริง ( Implementation oroperation )
           7. บำรุงรักษาระบบ ติดตามผลและแก้ไขปรับปรุง ( Software mainte-mance and improvement ) 

 
 Tongue out1.5 เครื่องมือในการวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา ในการออกแบบขั้นตอนวิธีการทำงานเพื่อการแก้ปัญหาต่างๆ หรือการเขียนโปรแกรม จำเป็นต้องใช้เครื่องมือบางอย่างช่วยในการออกแบบและวิเคราะห์วิธีการเพื่อให้ง่ายต่อการมองภาพกระบวนการทำงานของระบบ สามารถตรวจสอบหาที่ผิด รวมทั้งหาทางปรับปรุงให้ดีกว่าเดิมได้ เครื่องมือดังกล่าวที่ง่ายที่สุด ได้แก่ ผังงาน หรือโฟลชาร์ต ( Flowchart ) และรหัสจำลอง ( Pseudo Code )
          Surprised 1.5.1 ผังงาน ( Flowchart ) เป็นเครื่องมือช่วยออกแบบ และวิเคราะห์การทำงานของโปรอกรมแบบรูปภาพขั้นพื้นฐานที่สุด ช่วยให้สามารถมองเห็นภาพของความสัมพันธ์ระหว่างกระบวนการต่างๆ ของระบบงานหรือโปรแกรมได้ง่าย และสามารถตรวจสอบว่าวิธีการนั้น ถูกต้อง มีประสิทธิภาพในการทำงาน และมีความซับซ้อนหรือไม่ ทำให้นำไปเขียนเป็นโปรแกรมได้อย่างถูกต้อง ซึ่งเหมาะสมสำหรับผู้เริ่มต้นศึกษากลไกของโปรแกรมอย่างละเอียดรวมทั้งเพื่อเป็นการศึกษาคิดค้นขั้นตอนวิธี ( algorithm ) ที่ละเอียดอ่อน และยังจัดว่าเป็นกระบวนการที่ไม่ใหญ่และซับซ้อนมากนัก ผังงานประกอบด้วยสัญลักษณ์ต่างๆ

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s