วันจันทร์ที่ 8 กรกฎาคม พ.ศ. 2562

แนวคิดและหลักการการเขียนโปรแกรม

การเขียนโปรแกรม

   คอมพิวเตอร์ เป็นอุปกรณ์ทางอิเล็กทรอนิกส์อย่างหนึ่ง ซึ่งไม่สามารถทำงานด้วยตนเองได้ แต่จะสามารถทำงานได้ตามชุดคำสั่งในโปรแกรมที่ป้อนเข้าสู่เครื่อง ซึ่งจะทำงานตามคำสั่งทีละคำสั่ง (Step by Step)  โดยคำสั่งที่เครื่องคอมพิวเตอร์สามารถเข้าใจได้ จะต้องอยู่ในรูปแบบของภาษาเครื่อง (Machine Language)  แต่ถ้ามีการเขียนด้วยภาษาอื่นที่ไม่ใช่ภาษาเครื่อง หรือที่เรียกว่า ภาษาชั้นสูง (High-level Language)  ก็จะต้องมีตัวแปลภาษา เช่น คอมไพเลอร์ (Compiler) หรือ อินเตอร์พรีเตอร์ (Interpreter) ทำการแปลภาษาชั้นสูงนั้นให้เป็นภาษาเครื่องอีกทีหนึ่ง ในการเขียนโปรแกรมหรือภาษาคอมพิวเตอร์นี้ โดยทั่วไปแล้วแต่ละภาษาจะมีหลักเกณฑ์ในการเขียนและการออกแบบโปรแกรมเหมือนกัน
 ซึ่งสามารถที่จะแบ่งขั้นตอนการเขียนโปรแกรมออกได้เป็น 7 ขั้นตอน ดังนี้
1. ขั้นตอนการวิเคราะห์ปัญหา (Analysis the problem)
ขั้นตอนนี้เป็นขั้นตอนแรกสุดที่นักเขียนโปรแกรมจะต้องทำก่อนที่จะลงมือเขียนโปรแกรมจริง ๆ เพื่อทำความเข้าใจกับปัญหาที่เกิดขึ้น และค้นหา         จุดมุ่งหมายหรือสิ่งที่ต้องการ ในขั้นตอนนี้จะมีองค์ประกอบอยู่ 3 องค์ประกอบที่จะช่วยในการวิเคราะห์ปัญหา ได้แก่
1. การระบุข้อมูลเข้า (Input) ต้องรู้ว่ามีข้อมูลอะไรบ้างที่จะต้องป้อนเข้าสู่คอมพิวเตอร์พร้อมกับโปรแกรม เพื่อให้โปรแกรมทำการประมวลผลและออกผลลัพธ์
2. การระบุข้อมูลออก (Output) จะพิจารณาว่างานที่ทำมีเป้าหมายหรือวัตถุประสงค์อะไร ต้องการผลลัพธ์ที่มีรูปร่างหน้าตาเป็นอย่างไร โดยจะต้องคำนึงถึงผู้ใช้เป็นหลักในการออกแบบผลลัพธ์
3. กำหนดวิธีการประมวลผล (Process) ต้องรู้วิธีการประมวลผลเพื่อให้ได้ผลลัพธ์ตามที่ต้องการ
 2. ขั้นตอนการออกแบบโปรแกรม (Design a Program)
หลังจากวิเคราะห์ปัญหาแล้ว ขั้นตอนถัดไปคือ การออกแบบโปรแกรม โดยใช้เครื่องมือมาช่วยในการออกแบบ ในขั้นตอนนี้ยังไม่ได้เป็นการเขียนโปรแกรมจริง ๆ แต่จะช่วยให้การเขียนโปรแกรมทำได้ง่ายขึ้น โดยสามารถเขียนตามขั้นตอนที่ได้ออกแบบไว้ในขั้นตอนนี้ และช่วยให้การเขียนโปรแกรมมีข้อผิดพลาดน้อยลง ช่วยตรวจสอบการทำงานของโปรแกรม ทำให้ทราบขั้นตอนการทำงานของโปรแกรมได้อย่างรวดเร็ว โดยไม่ต้องไปไล่ดูจากตัวโปรแกรม   จริง ๆ ซึ่งถ้าเปรียบเทียบการเขียนโปรแกรมเหมือนกับการสร้างบ้านแล้ว ในขั้นตอนการออกแบบโปรแกรมนี้ ก็เปรียบเหมือนการสร้างแปลนบ้านลงในกระดาษไว้ ซึ่งในการสร้างบ้านจริง ก็จะอาศัยแปลนบ้านนี้เป็นต้นแบบในการสร้างนั่นเอง
ในขั้นตอนการออกแบบโปรแกรมนี้ เป็นการออกแบบการทำงานของโปรแกรม หรือขั้นตอนในการแก้ปัญหา ซึ่งผู้ออกแบบสามารถเลือกใช้เครื่องมือมาช่วยในการออกแบบได้ โดยเครื่องมือที่ใช้ในการออกแบบโปรแกรมมีอยู่หลายอย่าง ซึ่งวิธีการซึ่งเป็นที่นิยมสำหรับใช้ในการออกแบบโปรแกรม เช่น
 อัลกอริทึม (Algorithm)
 ผังงาน (Flowchart)
 รหัสจำลอง (Pseudo-code)
 แผนภูมิโครงสร้าง (Structure Chart)
     อัลกอริทึมเป็นเครื่องมือที่ช่วยในการออกแบบโปรแกรม โดยใช้ข้อความที่เป็นภาษาพูดในการอธิบายการทำงานของโปรแกรมที่เป็นลำดับขั้นตอน จะข้ามไปข้ามมาไม่ได้ นอกจากจะต้องเขียนสั่งไว้ต่างหาก ตัวอย่างอัลกอริทึมง่าย ๆ ที่พบเห็นในชีวิตประจำวัน ได้แก่ อัลกอริทึมการสระผม
    เริ่มจากการทำผมให้เปียกโดยการราดน้ำ เมื่อผมเปียกแล้วจึงใส่แชมพูสระผมลงบนศีรษะ แล้วขยี้ให้มีฟองเกิดขึ้น หลังจากนั้นก็ล้างออกด้วยน้ำ     แล้วเริ่มทำใหม่อีกครั้ง
    ในการเขียนอัลกอริทึมนี้ แม้จะมีความชัดเจนอยู่ในตัวแล้ว แต่ก็มีจุดอ่อนอยู่ที่ ข้อความอธิบายค่อนข้างเยิ่นเย้อ และถ้าผู้เขียนใช้สำนวนที่อ่านยาก ก็อาจทำให้ผู้อ่านไม่เข้าใจขั้นตอนการทำงานของโปรแกรมได้ ดังนั้น จึงมีการคิดค้นเครื่องมืออื่นที่ช่วยในการออกแบบโปรแกรมแทนอัลกอริทึม ได้แก่     ผังงาน รหัสจำลอง แผนภูมิโครงสร้าง
    ผังงานเป็นเครื่องมือที่ช่วยในการออกแบบโปรแกรม โดยใช้สัญลักษณ์รูปภาพ แสดง ขั้นตอนการเขียนโปรแกรม หรือขั้นตอนในการแก้ปัญหาทีละขั้น และมีเส้นที่แสดงทิศทางการไหลของข้อมูล ตั้งแต่จุดเริ่มต้นจนกระทั่งได้ผลลัพธ์ตามที่ต้องการ ซึ่งจะทำให้ผู้อ่านสามารถอ่านและทำความเข้าใจได้โดยง่าย
    รหัสจำลองจะมีการใช้ข้อความที่เป็นภาษาอังกฤษหรือภาษาไทยก็ได้ ในการแสดงขั้นตอนการแก้ปัญหา แต่จะมีการใช้คำเฉพาะ (Reserve words) ที่มีอยู่ในภาษาโปรแกรม มาช่วยในการเขียน โครงสร้างของรหัสจำลองจึงมีส่วนที่คล้ายกับการเขียนโปรแกรมมาก ดังนั้น รหัสจำลองจึงเป็นเครื่องมืออีกแบบที่เป็นที่นิยมใช้กันมากในการออกแบบโปรแกรม
    แผนภูมิโครงสร้างการใช้แผนภูมิโครงสร้าง จะเป็นการแบ่งงานใหญ่ออกเป็นโมดูลย่อย ๆ ซึ่งเรียกว่า การออกแบบจากบนลงล่าง (Top-Down Design) แต่ละโมดูลย่อยก็ยังสามารถแตกออกได้อีกจนถึงระดับล่างสุดที่สามารถเขียนโปรแกรมได้อย่างง่าย
 3. ขั้นตอนการเขียนโปรแกรม (Coding)
     ในขั้นตอนนี้ จะเป็นการนำเครื่องมือที่ถูกสร้างขึ้นจากขั้นตอนการออกแบบมาแปลให้เป็นโปรแกรมคอมพิวเตอร์ ซึ่งในการสร้างโปรแกรมคอมพิวเตอร์นั้น เราสามารถเลือกใช้ภาษาได้หลายภาษา ตั้งแต่ภาษาระดับต่ำ เช่น ภาษาแอสเซมบลี จนถึงภาษาระดับสูง เช่น ภาษาเบสิก ภาษาโคบอล ภาษาปาสคาล ภาษาซี ซึ่งแต่ละภาษาจะมีรูปแบบ โครงสร้าง หรือไวยากรณ์ของภาษาที่แตกต่างกันออกไปดังนั้น การเขียนโปรแกรมที่ดีนั้น ควรจะต้องทำตามขั้นตอนคือ เริ่มตั้งแต่วิเคราะห์ปัญหาให้ได้ก่อน แล้วทำการออกแบบโปรแกรมจึงจะเริ่มเขียนโปรแกรม ซึ่งในการเขียนโปรแกรมนั้น สำหรับผู้ที่ยังไม่มีประสบการณ์การเขียนโปรแกรมเพียงพอ ก็ควรจะทดลองเขียนลงในกระดาษก่อน แล้วตรวจสอบจนแน่ใจว่าสามารถทำงานได้แล้ว จึงทำการป้อนเข้าสู่เครื่องคอมพิวเตอร์ เพื่อเป็นการประหยัดเวลาและทำให้สามารถทำงานได้เร็วขึ้น
 4. ขั้นตอนการตรวจสอบข้อผิดพลาดของโปรแกรม (Testing and Debugging)
 หลังจากที่ทำการเขียนโปรแกรมเสร็จสิ้นแล้ว โปรแกรมนั้นจะต้องได้รับการตรวจสอบก่อนว่า มีข้อผิดพลาด (error) ในโปรแกรมหรือไม่ ซึ่งอาจเกิดจากการเขียนโปรแกรมที่ผิดหลักไวยากรณ์ของภาษาเป็นต้น โดยทั่วไปจะมีวิธีที่จะตรวจสอบข้อผิดพลาดของโปรแกรม 2 ขั้นตอน ดังนี้
          1. ตรวจสอบด้วยตนเอง (Self Checking) เป็นการทดลองเขียนโปรแกรมลงบนกระดาษ แล้วใส่ตรวจสอบการทำงานของโปรแกรมทีละขั้น        ด้วยตนเอง ว่าโปรแกรมมีการทำงานที่ถูกต้อง ได้ผลลัพธ์ตรงตามความเป็นจริงหรือไม่
         2. ตรวจสอบด้วยการแปลภาษา (Translating) หลังจากที่เขียนโปรแกรมเสร็ข และมีการตรวจสอบด้วยตนเองเรียบร้อยแล้ว ก็จะป้อนโปรแกรมเข้าสู่เครื่องคอมพิวเตอร์เพื่อทำการแปลโปรแกรม โดยจะต้องเรียกใช้ตัวแปลภาษาโปรแกรม ที่เรียกว่า คอมไพเลอร์ (Compiler) หรือ อินเตอร์พรีเตอร์ (Interpreter) อย่างใดอย่างหนึ่ง ทำการแปลภาษาโปรแกรมให้เป็นภาษาเครื่อง การแปลนี้จะเป็นการตรวจสอบความผิดพลาดของโปรแกรมด้วย ซึ่งถ้ามีข้อผิดพลาดใด ๆ เครื่องคอมพิวเตอร์จะแจ้งให้ทราบทางหน้าจอ
     หลังจากที่ทำการเขียนโปรแกรมเสร็จแล้ว เวลา 50-70% ของเวลาในการพัฒนาโปรแกรม จะถูกใช้ไปในการหาข้อผิดพลาดของโปรแกรมและการ แก้ไขข้อผิดพลาดนั้น
 5. ขั้นตอนการทดสอบความถูกต้องของโปรแกรม (Testing and Validating)
 ในบางครั้ง โปรแกรมอาจผ่านการแปล โดยไม่มีข้อผิดพลาดใด ๆ แจ้งออกมา แต่เมื่อนำโปรแกรมนั้นไปใช้งาน ปรากฏว่าได้ผลลัพธ์ที่ไม่เป็นจริง เนื่องจากอาจเกิดข้อผิดพลาดขึ้นได้ ดังนั้นจึงควรจะต้องมีขั้นตอนการทดสอบความถูกต้องของโปรแกรมอีกทีด้วยในการทดสอบความถูกต้องของข้อมูล จะมีอยู่หลายวิธี ดังต่อไปนี้
    1. การใส่ข้อมูลที่ถูกต้อง (Valid Case) เป็นการทดสอบโปรแกรมเมื่อมีการรันโปรแกรม ให้ทำการใส่ข้อมูลที่ถูกต้องลงไปในโปรแกรม และดูว่าผลลัพธ์ที่ได้จากโปรแกรม ถูกต้องตามความเป็นจริงหรือตรงตามที่ต้องการหรือไม่
    2. การใช้ขอบเขตและความถูกต้องของข้อมูลเป็นการทดสอบ โดยตรวจสอบขอบเขตของข้อมูลที่ป้อนเข้าสู่โปรแกรม เช่น ถ้าโปรแกรมให้มีการป้อนวันที่ ก็จะต้องตรวจสอบว่า วันที่ที่ป้อนจะต้องไม่เกินวันที่ 31 ถ้าผู้ใช้ป้อนวันที่ที่เป็นเลข 32 โปรแกรมจะต้องไม่ยอมให้ป้อนวันที่นี้ได้
    3. การใช้ความสมเหตุสมผล ตัวอย่างเช่น ถ้าโปรแกรมมีการออกแบบให้ผู้ใช้ป้อนข้อมูลลงไปในฟอร์มที่มีข้อมูลที่เป็นเพศ (หญิงหรือชาย)             และรายละเอียดส่วนตัวของคน ๆ นั้น เช่นเพศ วันลาคลอดชาย ต้องไม่มี (ห้ามใส่)หญิง อาจมีหรือไม่มีก็ได้
    4. ข้อมูลที่เป็นตัวเลขและตัวอักษร เป็นการตรวจสอบว่า ถ้าโปรแกรมให้ผู้ใช้ป้อนข้อมูลในฟิลด์ที่ต้องรับข้อมูลที่เป็นตัวเลข อย่างเช่น ฟิลด์ที่เป็นจำนวนเงิน ก็ควรจะยอมให้ผู้ใช้ป้อนข้อมูลได้เฉพาะตัวเลขเท่านั้น ไม่อนุญาตให้ใส่ตัวอักษรในฟิลด์นั้นได้ หรือถ้าเป็นฟิลด์ที่รับข้อมูลที่เป็นตัวอักษร เช่น ฟิลด์ชื่อ-นามสกุล ก็จะป้อนข้อมูลได้เฉพาะตัวอักษรเท่านั้น จะป้อนตัวเลขไม่ได้
     5. ข้อมูลเป็นไปตามข้อกำหนด ข้อมูลที่ป้อนในฟิลด์ ต้องเป็นไปตามที่กำหนดไว้แน่นอนแล้วเท่านั้น เช่น กำหนดให้ฟิลด์นี้ป้อนข้อมูลได้เฉพาะตัวเลขที่อยู่ในกลุ่ม 1,2,5,7 ได้เท่านั้น จะป้อนเป็นตัวเลขอื่นที่ไม่อยู่ในกลุ่มนี้ ไม่ได้
 6. ขั้นตอนการทำเอกสารประกอบโปรแกรม (Documentation)
     การทำเอกสารประกอบโปรแกรม คือ การอธิบายรายละเอียดของโปรแกรมว่า จุดประสงค์ของโปรแกรมคืออะไร สามารถทำงานอะไรได้บ้าง และมีขั้นตอนการทำงานของโปรแกรมเป็นอย่างไร เครื่องมือที่ช่วยในการออกแบบโปรแกรมเช่น ผังงาน หรือรหัสจำลอง ก็สามารถนำมาประกอบกันเป็นเอกสารประกอบโปรแกรมได้โปรแกรมเมอร์ที่ดี ควรมีการทำเอกสารประกอบโปรแกรม ทุกขั้นตอนของการพัฒนาโปรแกรม ไม่ว่าจะเป็นขั้นตอนการออกแบบ การเขียนโปรแกรม หรือขั้นตอนการทดสอบโปรแกรม ซึ่งการทำเอกสารนี้จะมีประโยชน์อย่างมากต่อหน่วยงาน เนื่องจากบางครั้งอาจต้องการเปลี่ยนแปลงแก้ไขโปรแกรมที่ได้มีการทำเสร็จไปนานแล้ว เพื่อให้ตรงกับความต้องการที่เปลี่ยนไป จะทำให้เข้าใจโปรแกรมได้ง่ายขึ้นและจะเป็นการสะดวกต่อผู้ที่ต้องเข้ามารับช่วงงานต่อทีหลังเอกสารประกอบโปรแกรม โดยทั่วไปจะมีอยู่ด้วยกัน 2 แบบคือ
    1. เอกสารประกอบโปรแกรมสำหรับผู้ใช้ (User Documentation)
จะเหมาะสำหรับผู้ใช้ที่ไม่ต้องเกี่ยวข้องกับการพัฒนาโปรแกรม แต่เป็นผู้ที่ใช้งานโปรแกรมอย่างเดียว จะเน้นการอธิบายเกี่ยวกับการใช้งานโปรแกรมเป็นหลัก ตัวอย่างเช่น
        · โปรแกรมนี้ทำอะไร ใช้งานในด้านไหน
        · ข้อมูลเข้า มีลักษณะอย่างไร
        · ข้อมูลออกหรือผลลัพธ์มีลักษณะอย่างไร
        · การเรียกใช้โปรแกรม ทำอย่างไร
        · คำสั่งหรือข้อมูลที่จำเป็นให้โปรแกรมเริ่มทำงาน มีอะไรบ้าง
        · อธิบายเกี่ยวกับประสิทธิภาพ และความสามารถของโปรแกรม
    2. เอกสารประกอบโปรแกรมสำหรับผู้เขียนโปรแกรม (Technical Documentation) จะได้ออกได้เป็น 2 ส่วน
· ส่วนที่เป็นคำอธิบายหรือหมายเหตุในโปรแกรม หรือเรียกอีกอย่างหนึ่งว่า คอมเมนท์ (Comment) ซึ่งส่วนใหญ่มักจะเขียนแทรกอยู่ในโปรแกรม อธิบายการทำงานของโปรแกรมเป็นส่วน ๆ
· ส่วนอธิบายด้านเทคนิค ซึ่งส่วนนี้มักจะทำเป็นเอกสารแยกต่างหากจากโปรแกรม จะอธิบายในรายละเอียดที่มากขึ้น เช่น ชื่อโปรแกรมย่อยต่าง ๆ มีอะไรบ้าง แต่ละโปรแกรมย่อยทำหน้าที่อะไร และคำอธิบายย่อ ๆ เกี่ยวกับวัตถุประสงค์ของโปรแกรม
  7. ขั้นตอนการบำรุงรักษาโปรแกรม (Program Maintenance)
    เมื่อโปรแกรมผ่านการตรวจสอบตามขั้นตอนเรียบร้อยแล้ว และถูกนำมาให้ผู้ใช้ได้ใช้งาน ในช่วงแรกผู้ใช้อาจจะยังไม่คุ้นเคยก็อาจทำให้เกิดปัญหาขึ้นมาบ้าง ดังนั้นจึงต้องมีผู้คอยควบคุมดูแล และตรวจสอบการทำงาน การบำรุงรักษาโปรแกรมจึงเป็นขั้นตอนที่ผู้เขียนโปรแกรมต้องคอยเฝ้าดูแลและหาข้อผิดพลาดของโปรแกรมในระหว่างที่ผู้ใช้ใช้งานโปรแกรมและปรับปรุงแก้ไขโปรแกรมเมื่อเกิดข้อผิดพลาดขึ้น หรือในการใช้งานโปรแกรมไปนาน ๆ ผู้ใช้อาจต้องการเปลี่ยนแปลงการทำงานของระบบเดิมเพื่อให้เหมาะกับเหตุการณ์ เช่น ต้องการเปลี่ยนแปลงหน้าตาของรายงาน มีการเพิ่มเติมข้อมูลหรือลบข้อมูลเดิม นักเขียนโปรแกรมก็จะต้องคอยปรับปรุง แก้ไขโปรแกรมตามความต้องการของผู้ใช้ที่เปลี่ยนแปลงไปนั้น
        คุณสมบัติของนักเขียนโปรแกรมที่ดี
    นักเขียนโปรแกรมหรือเรียกอีกอย่างหนึ่งว่า โปรแกรมเมอร์นั้น ควรจะมีคุณสมบัติดังต่อไปนี้ จึงจะเรียกได้ว่าเป็นโปรแกรมเมอร์ที่ดี
· รักและชอบในการเขียนโปรแกรม
· มีความคิดริเริ่มสร้างสรรค์ และที่จะเรียนรู้
· มีความอดทนต่อการเขียนโปรแกรม ซึ่งบางครั้งอาจต้องใช้เวลานานในการเขียนโปรแกรม
· ต้องรู้จักการทำงานเป็นทีมหรือเป็นกลุ่มคณะ ซึ่งการพัฒนาโปรแกรมที่ใหญ่ ๆ อาจต้องมีการทำงานกันเป็นทีม ต้องมีการแบ่งงานกันทำเป็นส่วน ๆ แล้วจึงจะนำมารวมกันทีหลัง ผลงานที่ออกมาจะต้องเป็นผลงานส่วนรวมของทั้งทีม ไม่ใช่ของคนใดคนหนึ่ง ดังนั้นจึงต้องรู้จักการถ่ายทอดความรู้ ความคิดเห็นให้แก่คนในทีมงานเดียวกัน
           · ต้องหมั่นทำเอกสารประกอบโปรแกรมไว้ตลอด เพื่อให้ง่ายต่อการพัฒนาต่อไปในภายหลัง
        ลักษณะของโปรแกรมที่ดี
    โปรแกรมที่ดี จะต้องมีลักษณะ ดังนี้
· สามารถอ่านแล้วมีความเข้าใจง่าย ควรหลีกเลี่ยงการใช้คำสั่ง GOTO เพื่อสั่งให้โปรแกรมกระโดดไปทำงานที่จุดนั้น จุดนี้ เพราะจะทำให้ ผู้อ่านโปรแกรมเกิดความสับสนได้ง่าย
· ควรจะเปิดโอกาสให้สามารถเข้าไปทำการแก้ไข หรือขยายโปรแกรมได้โดยง่าย นั่นคือควรจะมีการแบ่งการทำงานของโปรแกรมนั้นทั้งหมดออกเป็นส่วนย่อย ๆ ที่เรียกว่า โมดูล (Module) โดยแต่ละโมดูลก็จะมีหน้าที่การทำงานที่อิสระจากกัน แต่จะมีการส่งผ่านข้อมูลให้กันและกันได้ระหว่างโมดูล ดังนั้นผู้ที่จะเข้าไปทำการแก้ไขโปรแกรม ก็สามารถเลือกได้ว่า โมดูลไหนที่เกี่ยวข้องกับตน ก็จะแก้ไขเฉพาะ โมดูลนั้น โดยไม่จำเป็นต้องศึกษารายละเอียดของโปรแกรมทั้งหมด
· มีคำอธิบายโปรแกรมหรือคอมเมนท์ สอดแทรกอยู่ในแต่ละโมดูล เพื่อให้ง่ายต่อการทำความเข้าใจในการทำงานของโมดูลนั้น
· ควรทำงานได้อย่างถูกต้อง รวดเร็ว และมีประสิทธิภาพ

2.1 แนวคิดและหลักการเขียนโปรแกรม

    ในการเขียนโปรแกรมคอมพิวเตอร์นักเขียนโปรแกรมจะต้องเข้าใจหลักเกณฑ์ของภาษาโปรแกรมและระบบการทำงานของคอมพิวเตอร์ ว่ามีโครงสร้างและวิธีการใช้คำสั่งอย่างไรซึ่งในการเขียนโปรแกรมคอมพิวเตอร์ มีหลักเกณฑ์การเขียนโปรแกรม ประกอบด้วย 5 ขั้นตอนดังนี้คือ
1. ทำความเข้าใจและวิเคราะห์ปัญหา
ผู้เขียนโปรแกรมจะต้องทำความเข้าใจและทำการวิเคราะห์ปัญหาเป็นลำดับแรกเพราะการทำความเข้าใจและวิเคราะห์ปัญหาเป็นสิ่งที่สำคัญโดยที่ผู้เขียนโปรแกรมจะต้องวิเคราะห์ปัญหาร่วมกับนักวิเคราะห์ระบบว่าโจทย์ต้องการผลลัพธ์อะไร และการให้ได้มาซึ่งผลลัพธ์นั้น ต้องป้อนข้อมูลอะไรบ้างและเมื่อป้อนข้อมูลเข้าไปแล้วจะทำการประมวลผลอย่างไรสิ่งเหล่านี้ผู้เขียนโปรแกรมจะต้องทำความเข้าใจให้ถูกต้องเพราะถ้าผู้เขียนโปรแกรมวิเคราะห์ปัญหาไม่ถูกต้องผลลัพธ์ที่ได้ออกมาก็อาจจะไม่ตรงกับความต้องการของโจทย์ได้
2. กำหนดแผนในการแก้ปัญหา
หลังจากทำความเข้าใจและวิเคราะห์ปัญหาโจทย์จนได้ข้อสรปุว่าโจทย์ต้องการอะไรแล้ว ผู้เขียนโปรแกรมก็จะทำการกำหนดแผนในการแก้ไขปัญหาโดยการเขียนผังงาน (Flowchart) ซึ่งการเขียนผังงานคือการเขียนแผนภาพที่เป็นลำดับเพื่อแสดงขั้นตอนการทำงานของโปรแกรมเพื่อให้ง่ายต่อการทำความเข้าใจการเขียนผังงานมี 3 แบบคือ แบบเรียงลำดับ(Sequential) แบบมีการกำหนดเงื่อนไข(Condition) และแบบมีการทำงานวนรอบ (Looping) ซึ่งสัญลักษณ์ของผังงาน (Flowchart Symbol) มีดังนี้คือ






3. เขียนโปรแกรมตามแผนที่กำหนด
เมื่อผู้เขียนโปรแกรมเขียนผังงานเสร็จเรียบร้อยแล้วขั้นตอนต่อไปคือการเขียนโปรแกรมตามผังงาน ที่ได้กำหนดเอาไว้ ในกรณีที่เขียนด้วยภาษาซีการเขียนโปรแกรมก็ต้องเป็นไปตามกฎเกณฑ์และโครงสร้างของภาษาซีเท่านั้น

4. ทดสอบและตรวจสอบความถูกต้อง
หลังจากเขียนโปรแกรมเสร็จแล้วให้ทดลองคอมไพล์โปรแกรมว่ามีจุดผิดพลาดที่ใดบ้าง ในภาษาซีการคอมไพล์ โปรแกรมจะใช้วิธีการกดปุ่ม Alt + F9 ในกรณีที่มีข้อผิดพลาดจะแสดงในช่องด้านล่างของหน้าจอเอดิเตอร์ ในส่วนของกรอบ message ให้อ่านทำความเข้าใจ และแก้ไขตามที่โปรแกรมแจ้งข้อมูลผิดพลาดเมื่อเสร็จแล้วให้ทดลองรันโปรแกรม
5. จัดทำคู่มือและเอกสารการใช้โปรแกรม
ถ้าหากรันโปรแกรมแล้วใช้งานได้แสดงว่าจะได้ไฟล์ที่มีส่วนขยายเป็น EXE เพื่อนำไปทดสอบ้งานในที่ต่างๆและถ้านำไปใช้งานแล้วมีปัญหาก็ให้ทำการแก้ไขโปรแกรมอีกครั้งแต่ถ้ารันโปรแกรมแล้วไม่มีปัญหาใดๆ แสดงว่าโปรแกรมนี้ใช้งานได้อย่างสมบูรณ์จากนั้นผู้เขียนโปรแกรมก็ต้องจัดทำคู่มือประกอบการใช้งานและนำไปเผยแพร่ต่อไป

วันพุธที่ 3 กรกฎาคม พ.ศ. 2562

การพัฒนาโครงงานสารสนเทศทางธุรกิจ


ใบงานที่ 3.1 เรื่อง การเขียนโครงงาน
 

คำชี้แจง   ให้นักเรียนบันทึกรายละเอียดของการทำโครงงาน ตามหัวข้อที่กำหนด

1.  ชื่อโครงงาน                                                                                                                                                                                    
2.  ประเภทโครงงาน                                                                                                                                                                          
3.  เจ้าของโครงงาน                                                                                                                                                                            
     1)                                                                                             ทำหน้าที่                                                                                        
     2)                                                                                             ทำหน้าที่                                                                                        
     3)                                                                                             ทำหน้าที่                                                                                        
     4)                                                                                             ทำหน้าที่                                                                                        
     5)                                                                                             ทำหน้าที่                                                                                        
4.  อาจารย์ที่ปรึกษา
5.  ความเป็นมาและความสำคัญของโครงงาน
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
6.  วัตถุประสงค์ของงาน 
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
7.  ขอบเขตของโครงงาน
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 
                                                                                                                                                                                                                                 

วันจันทร์ที่ 1 กรกฎาคม พ.ศ. 2562

ขั้นตอนการพัฒนาโครงงานคอมพิวเตอร์

ขั้นตอนการพัฒนาโครงงานคอมพิวเตอร์

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

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

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

เทอม 1 2568

ป.1 ป.2 ป.3 ป.4 https://scratch.mit.edu/projects/editor/?tutorial=getStarted ป.5 ป.6 ม.1 คอม สังคม ม.2 คอม สังคม ม.3 คอม