ข้อ ใด คือ กลุ่ม เป้าหมาย ของ MIT App Inventor

What is App Inventor?

App Inventor เป็นเครื่องมือที่ใช้สำหรับสร้างแอพพลิเคชันสำหรับสมาร์ทโฟนและแท็บเล็ตที่เป็นระบบปฏิบัติการ Android ซึ่งบริษัท Google ร่วมมือกับ MIT พัฒนาโปรแกรม App inventor ขึ้น ต่อมา Google ถอนตัวออกมาและยกให้ MIT พัฒนาต่อเอง (โดยเน้นกลุ่มผู้ใช้ด้านการศึกษามากกว่า) ในนาม MIT App inventor

App inventor ใช้หลักการคล้ายๆ กับ Scratch แต่ซับซ้อนกว่า โดยลักษณะการเขียนโปรแกรมแบบ Visual Programming  คือ เขียนโปรแกรมด้วยการต่อบล็อกคำสั่ง เน้นการออกแบบเพื่อแก้ปัญหา (problem solving) ด้วยการสร้างโปรแกรมที่ผู้เรียนสนใจ บนโทรศัพท์มือถือสมาร์ทโฟน (สมัยนี้สมาร์ทโฟนใช้กันทั่วไปอยู่แล้ว โดยเฉพาะเด็กวัยรุ่น)

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

การเขียนโปรแกรมบนสมาร์ทโฟนและแท็บเล็ต Android ด้วย App inventor ในภาพรวมแสดงได้ตามรูปล่างนี้

ข้อ ใด คือ กลุ่ม เป้าหมาย ของ MIT App Inventor

App Inventor servers เป็นเครื่องที่ให้บริการและเก็บงานโปรเจกต่างๆ ที่ผู้ใช้สร้างขึ้นมา ผู้ใช้พัฒนาโปรแกรมมือถือ Android โดยสร้างโปรเจกและเขียนโปรแกรมบนเว็บเบราว์เซอร์ ที่เชื่อมต่อไปยัง App Inventor servers เมื่อได้โปรแกรมมา ก็สามารถทดสอบกับโปรแกรมมือถือจำลอง (Android emulator) หรือโทรศัพท์มือถือ Android จริงๆ ก็ได้

ขั้นตอนการสร้างโปรแกรม (ตามภาพ) เริ่มจากออกแบบหน้าตาโปรแกรมบนมือถือ ด้วยโปรแกรม App Inventor Designer ซึ่งใช้สำหรับสร้างส่วนโปรแกรมต่างๆ (components) เพื่อใช้งานในโปรแกรมมือถือที่จะสร้างขึ้น

จากนั้นเขียนโปรแกรมให้แต่ละส่วนโปรแกรม ด้วยโปรแกรม App Inventor Blocks Editor ซึ่งใช้วิธีการต่อบล็อกคำสั่ง เพื่อให้ส่วนโปรแกรมนั้นๆ ทำหน้าที่ของมัน ตามที่ออกแบบเอาไว้

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

ที่มา : http://kidsangsan.com

        การพัฒนาซอฟต์แวร์

หลักการพัฒนาซอฟต์แวร์แอปพลิเคชัน     

        Google ร่วมมือกับ MIT พัฒนาโปรแกรม App Inventor ใช้สำหรับพัฒนาโปรแกรมบนมือถือ Android โดยโปรแกรมนี้จะให้บริการผ่านอินเตอร์เน็ต (App Inventor server) โดยข้อมูลของโปรเจกต่างๆ จากผู้ใช้ จะถูกเก็บไว้ที่เครื่องแม่ข่ายที่ให้บริการ (Cloud computing)
Google เปิดให้บริการ App Inventor ตั้งแต่ 15 ธ.ค. 2553 ก่อนที่หยุดให้บริการ 31 ธ.ค. 2554 แล้วส่งให้ MIT ทำต่อ โดยเน้นทางด้านการศึกษา ในนามของ MIT App Inventor และเปิดให้ทดลองใช้เมื่อ 4 มี.ค. 2555 
        MIT App Inventor สามารถนำมาใช้ในการเรียนการสอนการเขียนโปรแกรมได้เหมือน Scratch แต่กลุ่มเป้าหมายน่าจะเหมาะสมกับเด็กระดับมัธยมปลายมากกว่า ซึ่งเด็กกลุ่มนี้น่าจะมีมือถือกันทุกคน ดังนั้นการเขียนโปรแกรมบนมือถือน่าจะดึงดูดให้พวกเขาสนใจการเขียนโปรแกรมได้ไม่ยาก  เตรียมพร้อมก่อนใช้ App Inventor
ใช้ WiFi เชื่อมต่อมือถือกับ App Inventor
เริ่มต้นเขียนโปรแกรมบนมือถือ Android

ข้อ ใด คือ กลุ่ม เป้าหมาย ของ MIT App Inventor

ขั้นตอนการพัฒนาซอฟต์แวร์

       การจัดสร้างซอฟต์แวร์ต่างๆ นั้น เราต้องดำเนินการเป็นขั้นตอนที่เรียกว่า วัฎจักรของซอฟต์แวร์ ซึ่งแบ่งออกเป็นหลายขั้นตอน ดังนี้
  1. ศึกษาความต้องการ (Requirements)
  2. ขั้นวิเคราะห์และกำหนดคุณลักษณะของซอฟต์แวร์ (Specification)
  3. วางแผน (Planning)
  4. ออกแบบ (Design)
  5. เขียนรหัสคำสั่ง (Implementation)
  6. ทดสอบ (testing)
  7. รวบรวมหน่อยย่อยต่างๆ เป็นระบบซอฟต์แวร์ (Integration)
  8. บำรุงรักษาซอฟต์แวร์ (Maintenace)

ข้อ ใด คือ กลุ่ม เป้าหมาย ของ MIT App Inventor

ขั้นตอนก่อนการจัดทำ ซอฟต์แวร์แอปพลิเคชัน

1.ระบุปัญหาของผู้ที่จะใช้ซอฟต์แวร์

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

ข้อ ใด คือ กลุ่ม เป้าหมาย ของ MIT App Inventor

2.ออกแบบ

      เมื่อรู้แล้วว่าปัญหาของผู้ใช้คืออะไร จากนั้นก็เป็นขั้นตอนของการออกแบบว่าจะทำอย่างไรให้โปรแกรมที่จะทำสามารถแก้ปัญหาของผู้ใช้ได้ ซึ่งสิ่งที่จะต้องออกแบบก็มีมากมาย ต้องใช้ผู้เชี่ยวชาญหลายภาคส่วนเข้ามาช่วยกันเป็นทีม ทั้งผู้เชี่ยวชาญด้านเทคนิค ด้านธุรกิจ ด้านการจัดการIT และผู้ออกแบบหน้าตาโปรแกรม(UX/UI)
แล้วสิ่งที่ต้องออกแบบมีอะไรบ้างคร่าวๆ?
    โครงสร้างพื้นฐานของโปรแกรม(Infrastructure)
    ออกแบบโครงสร้างของฐานข้อมูล
    ฟีเจอร์ต่างๆ เช่น เช็คอิน/เช็คเอาท์ การทำจอง แม่บ้าน หรือ การออกรายงาน
    ออกแบบขั้นตอนโดยอิงกับสิ่งที่ผู้ใช้ต้องเจอในการแก้ปัญเป็นหลัก
    ภาษาที่ใช้ในการเขียนโปรแกรม เช่น .net php html c java android โอยเยอะ
    หน้าตาโปรแกรม(User Interface)
นี่ก็เป็นแค่สิ่งที่ต้องออกแบบเบื้องต้น ส่วนเบื้องลึกขอติดเอาไว้ก่อนแล้วกัน
เมื่อออกแบบเสร็จแล้ว เราก็ต้องทำSDPหรือService Design Packageเพื่อส่งต่อให้ทีมพัฒนา(Developer)ทำต่อไป ซึ่งขั้นตอนการออกแบบเนี่ยแหละสำคัญที่สุดในการชี้วัดว่าโปรแกรมตัวนั้นจะดีหรือไม่ดี สามารถตอบโจทย์ความต้องการของผู้ใช้ได้หรือไม่

ข้อ ใด คือ กลุ่ม เป้าหมาย ของ MIT App Inventor

ขั้นตอนการจัดทำ ซอฟต์แวร์แอปพลิเคชัน

1.ลงมือทำ

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

ข้อ ใด คือ กลุ่ม เป้าหมาย ของ MIT App Inventor


2.บำรุงรักษา

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

ข้อ ใด คือ กลุ่ม เป้าหมาย ของ MIT App Inventor


ขั้นตอนหลังการจัดทำ ซอฟต์แวร์แอปพลิเคชัน

1.ปรับปรุงและพัฒนา

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

ข้อ ใด คือ กลุ่ม เป้าหมาย ของ MIT App Inventor