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

เทคโนโลยี (วิทยาการคำนวณ) ม.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) งานอื่น ๆ 

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

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