วันจันทร์ที่ 10 กรกฎาคม พ.ศ. 2560

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

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

จุดประสงค์ เพื่อให้
   1. อธิบายหลักการและขั้นตอนการพัฒนาซอฟต์แวร์ได้
   2. บอกขั้นตอนการพัฒนาซอฟต์แวร์ได้
   3. อธิบายรายละเอียดพัฒนาซอฟต์แวร์ได้ แต่ละขั้นตอนได้ได้

ขั้นตอนใบงาน
1. ศึกษาหลักการและขั้นตอนการพัฒนาพัฒนาโปรแกรมประยุกต์จากเอกสารประกอบใบงาน ดาวน์โหลดจาก ที่นี่

 2. ค้นคว้าเพิ่มเติม เขียนบรรยายสรุปความรู้ลงใน Blogger ตามหัวข้อดังนี้

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




การพัฒนาโมบายแอพพลิเคชั่น

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

โมบายแอพพลิเคชั่น

    ด้วยความพร้อมของทีมงานที่มีศักยภาพ มีความชำนาญเฉพาะทาง เข้าใจทั้งด้านธุรกิจและเทคนิค สามารถออกแบบและพัฒนาซอฟต์แวร์บนระบบปฏิบัติการที่เป็นที่รู้จักอย่างแพร่หลาย เช่น Windows, UNIX, LINUX โดยใช้ระบบจัดการฐานข้อมูลที่เป็นที่ยอมรับ เช่น MS-SQL, Oracle อีกทั้งพัฒนาซอฟต์แวร์บนแพลตฟอร์ม Java และ .NET ได้อย่างมีประสิทธิภาพ ปัจจุบันได้ขยายครอบคลุมไปในกลุ่มเทคโนโลยี Mobile ด้วยการพัฒนาโมบายแอพพลิเคชั่น เช่น iPad, iPhone, Android เป็นต้น
  • AR Soft ได้รับการรับรองมาตรฐาน CMMI ระดับ 3 ซึ่งเป็นมาตรฐานที่ได้รับการยอมรับในระดับโลก ผลงานจึงเป็นที่ยอมรับและไว้วางใจของลูกค้า
    • Custom Application Development
    • Mobile Application Development

โมบายแอพพลิเคชั่น แบ่งออกเป็น 3 ประเภท

     Native App คือ แอพพลิเคชั่นที่ถูกพัฒนามาด้วย Library (ชุดคำสั่ง) หรือ SDK (เครื่องมือที่เอาไว้สำหรับพัฒนาโปรแกรมหรือแอพพิเคชั่น) ของ OS Mobile นั้น ๆ โดยเฉพาะ อาทิ Android ใช้ Android SDK, iOS ใช้ Objective c, Windows Phone ใช้ C# เป็นต้น
Hybrid Application คือ แอพพลิเคชั่นที่ถูกพัฒนาขึ้นมาด้วยจุดประสงค์ที่ต้องการให้สามารถรันบนระบบปฎิบัติการได้ทุก OS โดยใช้ FrameWork (ชุดคำสั่ง) เข้าช่วย เพื่อให้สามารถทำงานได้ทุกระบบปฏิบัติการ
Web Application คือ แอพพลิเคชั่นที่ถูกเขียนขึ้นมาเพื่อเป็น Browser สำหรับการใช้งานเว็บเพจต่าง ๆ ซึ่งถูกปรับแต่งให้แสดงผลแต่ส่วนที่จำเป็น เพื่อเป็นการลดทรัพยากรในการประมวลผลของตัวเครื่องสมาร์ทโฟน หรือ แท็บเล็ต ทำให้โหลดหน้าเว็บไซต์ได้เร็วขึ้น อีกทั้งผู้ใช้งานยังสามารถใช้งานผ่านอินเทอร์เน็ตและอินทราเน็ตในความเร็วตํ่าได้

แหล่งอ้างอิง http://www.ar.co.th/mobile_application_development_arsoft/th

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


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

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

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

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

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

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

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

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

แหล่งอ้างอิง https://smartfinder.asia/th/software-making-process/



ไม่มีความคิดเห็น:

แสดงความคิดเห็น