การพัฒนาแอปพลิเคชั่น (วิทยาการคำนวณ ม.3)

“การพัฒนาแอปพลิเคชั่น หรือซอฟต์แวร์คอมพิวเตอร์นั้น อาจทำได้โดยใช้เครื่องคอมพิวเตอร์เครื่องเดียว ทำให้สามารถเริ่มต้นได้ง่าย แตกต่างจากการพัฒนาผลิตภัณฑ์ทางวิศวกรรมอื่นๆ ที่ต้องการแรงงานและเครื่องจักรจำนวนมาก เช่น การผลิตรถยนต์ ยานพาหนะ สิ่งก่อสร้างขนาดใหญ่

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

หนังสือเรียนเทคโนโลยี (วิทยาการคำนวณ) ม.3

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

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

  1. การศึกษาความต้องการ – แอปพลิเคชั่นถูกสร้างขึ้นตามความต้องการและเพื่อแก้ปัญหาของลูกค้าหรือผู้ใช้ ผู้พัฒนาต้องทราบความต้องการหรือปัญหาก่อนดำเนินการออกแบบ ซึ่งจะได้ข้อกำหนดที่เป็นคุณสมบัติต่างๆ ของแอปพลิเคชั่น ซึ่งเป็นขั้นตอนที่ต้องอาศัยประสบการณ์ของผู้พัฒนา เพื่อให้ได้ความต้องการของลูกค้าหรือผู้ใช้ที่แท้จริง เพราะอาจมีการสื่อสารความต้องการที่คลาดเคลื่อน
  2. การออกแบบ – เป็นหัวใจสำคัญในการพัฒนาแอปพลิเคชั่น ซึ่งค่อนข้างมีความซับซ้อนและมีรายละเอียดจำนวนมาก ต้องอาศัยแนวคิดเชิงคำนวณมาประยุกต์ใช้ในการออกแบบอย่างเป็นระบบ ผลจากการออกแบบ จะได้เป็นโครงร่างของแอปพลิเคชั่นที่มีส่วนประกอบย่อยที่มีการกำหนดหน้าที่การทำงานไว้
  3. การลงมือพัฒนา – ผู้พัฒนาหรือโปรแกรมเมอร์ (programmer) ลงมือเขียนคำสั่งในส่วนประกอบย่อยที่ได้ออกแบบไว้ ซึ่งอาจพบข้อจำกัดหรือข้อบกพร่องจากขั้นตอนการออกแบบ หรือขั้นตอนศึกษาความต้องการ จึงเป็นเรื่องปกติที่ต้องย้อนกลับไปแก้ไขการออกแบบหรือศึกษาความต้องการ
  4. การทดสอบ – เป็นการตรวจสอบคุณภาพของแอปพลิเคชั่น เพื่อค้นหาข้อผิดพลาดที่มีอยู่ระหว่างที่แอปพลิเคชั่นทำงาน และสร้างความมั่นใจแอปพลิเคชั่นทำงานได้ถูกต้องและตรงความต้องการอย่างแท้จริง หากพบข้อผิดพลาด ต้องทำการปรับปรุง แก้ไข และทดสอบซ้ำ เพื่อไม่ให้เกิดข้อผิดพลาดระหว่างการใช้งานจริง ซึ่งอาจทำให้เกิดความเสียหายอย่างรุนแรงตามมา
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)

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


การวางแผนพัฒนา

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

การใช้งานการ์ดคัมบัง

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

  1. To do – ช่วงระยะที่จะทำ
  2. Doing – ช่วงระยะที่กำลังทำ
  3. Done – ช่วงระยะที่ทำเสร็จแล้ว

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


เครื่องมือช่วยวางแผนและติดตามความก้าวหน้า

เทรลโล (Trello) เป็นแอปพลิเคชั่นที่นำมาใช้บริหารจัดการงานในรูปแบบกระดานคัมบังได้ง่าย ไม่ซับซ้อน รองรับการทำงานร่วมกับผู้อื่นได้อย่างมีประสิทธิภาพ สามารถสมัครใช้งานได้ทันทีผ่านทางเว็บไซต์ trello.com โดยไม่ต้องเสียค่าใช้จ่าย แต่มีการจำกัดจำนวนกระดานหรือจำนวนผู้ร่วมพัฒนา


อ้างอิง

สถาบันส่งเสริมการสอนวิทยาศาสตร์และเทคโนโลยี กระทรวงศึกษาธิการ, หนังสือเรียนรายวิชาพื้นฐานวิทยาศาสตร์และเทคโนโลยี เทคโนโลยี (วิทยาการคำนวณ) ชั้นมัธยมศึกษาปีที่ 3

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 )

Google photo

You are commenting using your Google 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 )

Connecting to %s