Spiral Development หรอ.. รู้จักไหม?

กระบวนการผลิตซอฟต์แวร์  Spiral Development

     Spiral Development  เป็นโมเดลที่นำจุดแข็งของ Waterfall Model มาพัฒนาให้ดีขึ้น โดยแต่เดิมนั้นพบว่าถ้าขั้นตอนไหนผิดพลาดจะไม่สามารถแก้ไขได้ ต้องรอเสร็จกระบวนการทั้งหมดจึงสามารถแก้ไขได้ โดยต้องแก้ไขตั้งแต่ขั้นแรกเรียงลำดับขั้นไปเรื่อย ๆ นั่นเอง

รูปที่ 1 : ตัวอย่าง Waterfall Model

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

รูปที่ 2 : ตัวอย่าง Spiral Model

     โดยโครงสร้างของ Spiral Model นั้นจะแบ่งเป็น 2 ส่วนด้วยกัน คือ รัศมี กับ มุม

  • รัศมี –  ยิ่งมี Cycle มาก ค่าใช้จ่ายในการพัฒนาก็จะมากขึ้นด้วย
  • มุม   –  เป็นการแสดงความก้าวหน้าของงานในแต่ละขั้นตอนในแต่ละ Cycle

     ข้อดีของ Spiral Model มีดังนี้

  • ผู้พัฒนาสามารถทำการปรับหรือแก้ไขข้อมูลได้ เพราะจะมีการทดลองระบบทุกครั้ง อีกทั้งมีการวิเคราะห์ความเสี่ยงจึงทำให้ลดความเสี่ยงที่เกิดขึ้นได้ด้วย
  • การประมวลผลนั้นจะเสร็จสิ้นในแต่ละ Cycle เดียว
  • การพัฒนา การแก้ไขงานนั้นมีความเป็นอิสระต่อกัน โดยสามารถแบ่งส่วนพัฒนาเป็น Module ได้
  • การพัฒนานั้นจะขึ้นอยู่กับวัตถุประสงค์หรือความต้องการของลูกค้า ทำให้งานเกิดความผิดพลาดน้อยลง
  • สามารถวางแผนดำเนินงาน Software Process ต่อไปได้

     Software Process คือ พื้นฐานกระบวนการผลิต Software โดยการเลือกใช้ Process นั้นขึ้นอยู่กับการพัฒนางาน ซึ่งมีขั้นตอนต่าง ๆ ดังนี้

  1. Feasibility and Planning : ความเป็นไปได้ของโปรเจคที่ทำ จะมีการวางแผนแจกแจงงานกันในทีมว่าใครทำอะไรและเสร็จงานเมื่อไหร่
  2. Requirements : ความต้องการของลูกค้า จะนำมาแปลงเป็นโมเดลเพื่อให้ดูง่ายขึ้น ดูว่า Functionality ทำอะไรได้บ้าง, Constraints ข้อจำกัดต่าง ๆ สามารถทำอะไรได้หรือทำอะไรไม่ได้บ้าง
  3. User Interface Design : การออกแบบ UI มี 4 ขั้นตอน คือ                                                                     Design the UI  >  Test with users  >  Revise the user interface  >  Repeat
  4. System and Program Design : ทำเป็น Diagram ต่าง ๆ เพื่อออกแบบโครงสร้างโปรเจค เช่น ใช้ OS อะไร, ใช้อุปกรณ์อะไรในการทำงาน
  5. Implementation : การปฏิบัติจริง โดยการเขียน Code จากนั้นทำการทดสอบระบบ
  6. Acceptance and Release : การยอมรับของลูกค้า
  7. Operation and Maintenance : การรักษา Software หรือบริการหลังการขาย เช่น มี Call Center ให้คำปรึกษา, มีการ Update Version ต่าง ๆ

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

ดูคลิปประกอบได้ที่ด้านล่าง :

  •  
  •  
  •  
  •  
  •  
  •  
Rossarin Phanitwong
at GlurGeek.Com
Hi!! สวัสดีค่ะ ชื่อจอย ตอนนี้เรียนอยู่ที่ มหาวิยาลัยกรุงเทพ คณะวิศวะสาขาคอมพิวเตอร์ปี 4 ค่ะ ในอนาคตอยากเป็น Admin Game ตอนนี้มาตามความฝันได้ครึ่งทางแล้ว ส่วนตัวเป็นคนงง ๆ เพื่อนชอบบอกว่าคุยด้วยไม่รู้เรื่องแต่ตอนนี้ก็พอเข้าใจแล้วว่าไม่รู้เรื่องยังไง เวลาว่างชอบฟังเพลงสากลค่ะถึงแม้จะไม่รุ้ความหมายก็ตามแต่ก็ฟัง สิ่งที่บ่งบอกตัวเองคือความสูงกับความโคร่ง ก็ประมาณนี้ค่ะ

Leave a Reply