ใบงานที่ 1 หลักการและขั้นตอนการพัฒนาพัฒนาซอฟต์แวร์

         ใบงานที่ 1 หลักการและขั้นตอน

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



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

        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


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

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

 

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

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

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

2.ออกแบบ

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




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

1.ลงมือทำ

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


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

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


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

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

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

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

ใบงานที่ 2 การสมัครใช้งาน Appinventer 2