วันพฤหัสบดีที่ 20 กันยายน พ.ศ. 2561

การประยุกต์ใช้แนวคิดเชิงคำนวณเพื่อพัฒนาโครงงาน

สาระสำคัญ

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


 

กรณีศึกษา โครงงานพัฒนาเว็บไซต์แนะนำการใช้ห้องสมุด

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

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

2.กำหนดแบบแผนจากปัญหาย่อยต่างๆ มองรูปแบบของปัญหา ที่เกิดขึ้นซ้ำๆ จากการแยกย่อยปัญหา เช่น กำหนดรูปแบบการพัฒนาเว็บไซต์ที่สามารถแสดงผลบนอุปกรณ์ที่แตกต่างกันแบบ responsive web site  กำหนดฟังก์ชะนการทำงานให้มี 2 ประเภท คือ การเรียกดูข้อมูลในลักษณะของ static web และ dynamic web  กำหนดระยะเวลาในการทำงานและจำนวนคนที่เป็นทีมพัฒนา เป็นต้น

3.หาแนวคิดเชิงนามธรรม เพื่อหาแนวทางคิดรวบยอดของแต่ละปัญหาย่อย โดยมองภาพรวมเพื่อนิยามสิ่งที่เป็นรสบละเอียดปลีกย่อย เช่น เว็บไซต์ทุกหน้ามีการแสดงผลรูปแบบเดียวกัน responsive web site  ทั้งส่วนที่เป็น static web และ dynamic web และจึงเลือกใช้เฟรมเวิร์ก bootstrap ในการพัฒนา เป็นต้น

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

1.2การพัฒนาโครงงานทางด้านเทคโนโลยีโดยใช้แนวคิดเชิงคำนวณ
โดยใช้หลัก ดังนี้

1.การกำหนดปัญหา

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


2.วิเคราะห์ระบบ 

1)สัมภาษณ์ผู้ใช้งาน จากแผนการดำเนินงาน การสัมภาษณ์ผู้ใช้งานจะเริ่มสัปดาห์ที่ 2 โดยในการสัมภาษณ์นั้น ทีมพัฒนาควรจัดทีมสัมภาษณ์อย่างน้อย 2 คน เพื่อให้สามารถเก็บข้อมูลได้ครบถ้วน ซึ่งผู้ที่ทำหน้าที่รับผิดชอบการสัมภาษณ์ คือ หัวหน้าโครงงาน และนักเรียนวิเคราะห์และออกแบบระบบ ในการสัมภาษณ์นั้น ทีมงานพัฒนาไม่ควรดำเนินงานเพียงลำพัง แต่ควรจัดทีมงานมัมภาษณ์อย่างน้อย 2 คน เพื่อให้มาสารถเก็บข้อมูลได้ครบถ้วน
2)วิเคราะห์ปัญหาและความต้องการ หลังจากการสัมภาษณ์เพื่อเก็บข้อมูลแล้วที่มผู้พัฒนาควรนำข้อมูลที่ได้จากการสัมภาษณ์มาวิเคราะห์หาข้อมูลเพื่อหาความเกี่ยวข้องสัมพันธ์กัน
3)กำหนดขอบเขตของระบบ หลังจากวิเคราะห์ระบบงานจนถูกต้อง และตรงตามความต้องการขอผู้ใช้งานแล้ว ขั้นตอนถัดไป ทีมพฒนาควรกำหนดขอบเขตการทำงานของเว็บไซต์แนะนำการใช้งานห้องสมุด เช่น ออกแบบและพัฒนาเว็บไซต์แนะนำการใช้ห้องสมุดผ่านเว็บไซต์ที่สามารถแสดงผลบน คอมพิวเตอร์ สมาร์ตโฟน หรือแท็บเล็ตได้และผ่านเว็บไซต์ด้วยภาษา HTML PHP Javascript SQL เป็นต้น
4)วิเคราะห์กลุ่มกระบวนการทำงาน(grouping process)และกลุ่มข้อมูล(grouping data) ขั้นตอนการวิเคราะห์เพื่อหากระบวนการทำงานว่าประกอบด้วยกระบวนการทำงานย่อยอะไรบ้างที่จะถูกพัฒนาขึ้นมา เช่น กระบวนการจัดการการยืม-คืนหนังสือ เป็นต้น และการวิเคราะห์เพื่อหากลุ่มข้อมูลที่เกิดขั้นในการพัฒนาว่ามีกลุ่มข้อมูลใด โดยแต่ละกลุ่มข้อมูลประกอบด้วยข้อมูลใดบ้าง เช่น กลุ่มข้อมูลหนัง
สือประกอบด้วยข้อมูลรหัสหนังสือ ชื่อหนังสือ ชื่อผู้แต่ง จำนวนหน้า หมายเลข ISBN เป็นต้น พร้อมกับจัดทำแผนภาพกระแสข้อมูล และแผนภาพบริบท



3.ออกแบบระบบ

ขั้นตอนการกำหนดวิธีการแก้ไขปัญหาต่างๆ จากขั้นตอนการวิเคราะห์ระบบ โดยขั้นตอนนี้จะกำหนดขั้นตอนการทำงานโดยใช้แผนภาพแสดงลำดับขั้นตอนการทำงาน(flowchart) แผนภาพแสดงความสัมพันธ์ของข้อมูล(Entity Relationship Diagram :ER Diagram) พจนานุกรมข้อมูล(data dictionary) จนนำมาถึงการออบแบบหน้าเว็บในส่วนต่างๆของเว็บ เป็นต้น


4.การพัฒนาระบบ และทดสอบระบบ 

ขั้นตอนการดำเนินงานต่างๆ เพื่อพัฒนาระบบ โดยดำเนินงานตามการออกแบบจากขั้นตอนการออกแบบระบบ จากกรณีนี้จะสามารถแบ่งได้ ดังนี้
1)การพัฒนาระบบ
-ภาษาที่ใช้ในการพัฒนาเว็บไซต์แนะนำการใช้ห้องสมุด มีการทำงานเป็นเว็บแอปพลิเคชันโดยใช้ภาษาโปรแกรมในการพัฒนา เช่น HTML PHP JavaScrip Bootstrap 3.0 เป็นต้น
-เครื่องมือที่ใช้ในการพัฒนา เช่น Adobe Photoshop CS6 ใช้ในการตัดแต่ภาพ เพื่อนำมาใช้ในการสร้างส่วนติดต่อกับผู้ใช้งาน  Adobe Dreamweaver ใช้สำหรับสร้างและออกแบบเว็บเพจ เป็นต้น
-ซอฟแวร์ที่ใช้ในการพัฒนา เช่น Apache MySQL เป็นต้น
2)การทดสอบระบบ ขั้นตอนนี้จะเป็นขั้นตอนการทดสอบการทำงานของเว็บไซต์ เพื่อยืนยันความถูกต้องในการทำงาน ซึ่งทดสอบด้วยการทดลองกำหนดข้อมูลนำเข้าให้กับเว็บไซต์ และตรวสอบความถูกต้องในการแสดงผลัพธ์


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

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