การพัฒนาแอปพลิเคชัน

เทคโนโลยี (วิทยาการคำนวณ) ม.3

        การพัฒนาโมบายแอพพลิเคชั่น คือ การเขียนซอฟแวร์สำหรับอุปกรณ์พกพา เช่น สมาร์ทโฟน(Smart phone) และ แท็บเล็ต(Tablet) หรือพูดกันง่ายๆ คือ การทำแอพลิเคชั่นหรือการสร้างแอพลิเคชั่นสำหรับมือถือ ซึ่งผู้พัฒนาจะเขียนแอพลิเคชั่นมือถือ เพื่อใช้ประโยชน์จากอุปกรณ์บางอย่างของมือถือที่มีคุณลักษณะเฉพาะ เช่น เซ็นเซอร์ตรวจจับลักษณะการเคลื่อนไหวของสมาร์ทโฟน (Accelerator Sensor), GPS และข้อมูลจากเซ็นเซอร์ตัวอื่นๆ เป็นต้น ข้อเสียของการพัฒนาแอพพลิเคชั่นมือถือ คือ ผู้พัฒนาไม่สามารถนำ source code ของระบบปฎิบัติการหนึ่งไปใช้อีกระบบปฏิบัติการได้ ตัวอย่างเช่น source code ที่ใช้ทำแอพพลิเคชั่นหรือสร้างแอพพลิเคชั่นดั้งเดิมสำหรับอุปกรณ์ Android ไม่สามารถทำงานร่วมกับ Windows Phone โปรแกรมประยุกต์ที่ใช้เบราว์เซอร์ต้องมี equipment-agnostic เพื่อให้เบราว์เซอร์ทำงานบนอุปกรณ์มือถือต่างๆได้

การพัฒนาแอปพลิเคชัน ประกอบด้วย

1. การศึกษาความต้องการ

         แอปพลิเคชันถูกสร้างขึ้นเพื่อตอบสนองความต้องการและแก้ปัญหาให้ผู้ใช้ ผู้พัฒนาจึงจำเป็นต้องทราบถึงความต้องการและปัญหาก่อนจะเริ่มออกแบบ

ปัญหาที่สำคัญในขั้นตอนนี้ คือ การสื่อสารที่คลาดเคลื่อนระหว่างผู้ใช้และผู้พัฒนา

2. การออกแบบ

        ขั้นตอนที่เป็น หัวใจสำคัญ ในการพัฒนาแอปพลิเคชัน

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

3. การสร้างแอปพลิเคชัน

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

4. การทดสอบ

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

สถานการณ์: ต้องการวางแผนการทำของขวัญวันเกิดให้เพื่อนที่เกิดในเดือนนี้ จะมีวิธีการอย่างไรบ้าง” และดำเนินการตามขั้นตอนการพัฒนาแอฟพลิเคชันได้หรือไม่ อย่างไร

แนวคิดการพัฒนาซอฟต์แวร์แบบเอจายล์ (agile software development)

        เป็นกระบวนการพัฒนาแอปพลิเคชันสมัยใหม่ เน้นการปรับปรุงเปลี่ยนแปลงความต้องการและการแก้ปัญหาอย่างต่อเนื่อง โดยอาศัยการทำงานร่วมกันระหว่างผู้ใช้และผู้พัฒนา สนับสนุนการวางแผนที่ยืดหยุ่นและปรับเปลี่ยนได้ง่าย เพื่อตอบสนองต่อ  ความต้องการที่เปลี่ยนแปลงของผู้ใช้ได้อย่างรวดเร็ว

Kanban

        ใช้เทคนิคกระดานคัมบัง (Kanban Board) โดยนำกระดาษแต่ละใบมาติดไว้บนกระดาน เพื่อกำหนดเฟสต่าง ๆ ในกับงานย่อย สำหรับแอปพลิเคชันที่ไม่ซับซ้อนมาก อาจแบ่งออกเป็น 3 เฟส คือ

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

– คำอธิบายรายละเอียดของาน

– ความสำคัญของงาน เช่น วิกฤติ (critical) สำคัญมาก (major) ปกติ (normal) ไม่เร่งด่วน (minor)

– ประเภทงาน เช่น ลักษณะเฉพาะหรือฟีเจอร์ (feature) ความผิดพลาดที่ต้องแก้ไข (bug) งานอื่น ๆ 

– กำหนดเวลาแล้วเสร็จ

– ผู้รับผิดชอบ

ADDIE Model

ADDIE Model คือ หลักการออกแบบกระบวนการเรียนรู้และพัฒนาอย่างเป็นระบบที่ได้รับการยอมรับทั่วโลก มีจุดมุ่งหมายในการออกแบบให้ประหยัดเวลาและค่าใช้จ่าย ด้วยการวิเคราะห์ที่สาเหตุของปัญหา คิดค้นขึ้นโดย Florida State University’s Center for Educational Technology ประกอบด้วย 5 ขั้นตอน คือ

1. ขั้นตอน Analysis (การวิเคราะห์)

ขั้นตอนการวิเคราะห์ชี้แจงปัญหาและวัตถุประสงค์ของการเรียนการสอน และระบุสภาพแวดล้อมการเรียนรู้ และความรู้และทักษะที่มีอยู่ของผู้เรียน ประกอบด้วยคำถามที่ต้องพิจารณาในช่วงการวิเคราะห์

  • ผู้เรียนคือใคร และมีลักษณะอย่างไร?
  • อะไรคือพฤติกรรมที่ต้องการจากการเรียนการสอน?
  • อะไรคือข้อจำกัดด้านการเรียนรู้และการเรียนการสอนนี้?
  • อะไรคือทางตัวเลือกที่สามารถจัดการเรียนการสอน?
  • อะไรคือข้อควรพิจารณาในการจัดการเรียนการสอน?
  • อะไรคือทฤษฎีการเรียนการสอนที่ต้องใช้?
  • อะไรคือส่วนประกอบของระยะเวลาในการดำเนินโครงการจนเสร็จสิ้น?

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

2. ขั้นตอน Design (การออกแบบ)

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

ขั้นตอนการออกแบบประกอบด้วย

  1. อธิบายลักษณะกลยุทธ์การเรียนการสอน ออกแบบภาพจำลองการเรียนการสอนภาพและทางเทคนิคของโครงการ
  2. ประยุกต์ใช้กลยุทธ์การเรียนการสอนตามผลลัพธ์ที่ต้องการโดยอยู่ในขอบเขตของพฤติกรรมที่กำหนด (ความรู้ ความเข้าใจอารมณ์ และจิตใจ)
  3. ออกแบบส่วนติดต่อผู้ใช้ และ/หรือตามประสบการณ์ของผู้ใช้
  4. สร้างต้นแบบ
  5. สร้างภาพจำลองการออกแบบ (graphic design)

3. ขั้นตอน Development (การพัฒนา)

ในขั้นตอนการพัฒนานักออกแบบและนักพัฒนาการเรียนการสอนจะสร้างและรวบรวมเนื้อหาเนื้อหาที่อธิบายไว้ในขั้นตอนการออกแบบ หากมีการเรียนรู้แบบอีเลิร์นนิง โปรแกรมเมอร์จะพัฒนาหรือรวมเทคโนโลยี นักออกแบบสร้างสตอรี่บอร์ด ทดสอบการแก้ปัญหาวัสดุและขั้นตอน ทีมทบทวนและทบทวนโครงการตามข้อเสนอแนะ

4. ขั้นตอน Implementation (การดำเนินงาน)

ขั้นตอนการดำเนินการพัฒนาขั้นตอนสำหรับการอบรมผู้อำนวยการอบรมและผู้เรียน หลักสูตรการอบรมผู้อำนวยการอบรมให้ครอบคลุมถึงหลักสูตรการเรียนรู้ ผลการเรียนรู้ วิธีการจัดการเรียนการสอน และขั้นตอนการทดสอบ ส่วนการเตรียมตัวสำหรับผู้เรียนนั้น ต้องให้การฝึกอบรมเกี่ยวกับการใช้เครื่องมือใหม่ (ซอฟต์แวร์หรือฮาร์ดแวร์) และการลงทะเบียนของนักเรียน ขั้นตอนการดำเนินงานนี้ยังรวมถึงการประเมินผลการออกแบบการเรียนการสอนด้วย

5. ขั้นตอน Evaluation (การประเมินผล)

ขั้นตอนการประเมินผลประกอบด้วยสองส่วน คือการประเมินผลตามรูปแบบ (formative) และการประเมินผลสรุปรวม (summative)  การประเมินผล (formative) เป็นการประเมินผลในแต่ละขั้นตอนของกระบวนการ ADDIE ส่วนการประเมินผลสรุปรวม จะประเมินผลเมื่อเสร็จสิ้นการเรียนการสอนด้วยโปรแกรมการเรียนการสอนหรือผลิตภัณฑ์สำเร็จรูป