วิธีน้ำตกเทียบกับ RUP
ปัจจุบันมีวิธีการพัฒนาซอฟต์แวร์ที่แตกต่างกันจำนวนมากในอุตสาหกรรมซอฟต์แวร์ วิธีการพัฒนาน้ำตกเป็นวิธีการพัฒนาซอฟต์แวร์ที่เก่าแก่ที่สุดวิธีหนึ่ง วิธีการพัฒนาซอฟต์แวร์ Waterfall เป็นแบบจำลองตามลำดับซึ่งแต่ละเฟสจะเสร็จสมบูรณ์และตามมาในลำดับคงที่ RUP (Rational Unified Process) เป็นเฟรมเวิร์กกระบวนการที่ปรับเปลี่ยนได้ของวิธีการพัฒนาซอฟต์แวร์แบบวนซ้ำ RUP กล่าวถึงการวิพากษ์วิจารณ์การพัฒนา Waterfall หลายประการ เช่น ความแข็งแกร่ง
วิธีน้ำตกคืออะไร
วิธีน้ำตกเป็นหนึ่งในรูปแบบการพัฒนาซอฟต์แวร์ที่เก่าแก่ที่สุดตามชื่อของมัน มันเป็นกระบวนการที่ต่อเนื่องกันซึ่งความคืบหน้าจะไหลผ่านหลายขั้นตอนจากบนลงล่าง คล้ายกับน้ำตก ขั้นตอนของแบบจำลอง Waterfall คือ การวิเคราะห์ความต้องการ การออกแบบ การพัฒนา การทดสอบ และการใช้งาน นักวิเคราะห์ธุรกิจ (หรือโปรแกรมเมอร์เองหากเป็นองค์กรขนาดเล็ก) ดำเนินการขั้นตอนการวิเคราะห์โดยรับระบบและข้อกำหนดทางธุรกิจจากลูกค้าของโครงการ จากนั้นสถาปนิกซอฟต์แวร์ (หรือนักพัฒนาซอฟต์แวร์อาวุโส) ได้จัดทำเอกสารการออกแบบที่แสดงโครงสร้างและส่วนประกอบของระบบที่เสนอ จากนั้นนักพัฒนารุ่นเยาว์จะเขียนโค้ดโดยใช้เอกสารการออกแบบ หลังจากเสร็จสิ้นการพัฒนา ผลิตภัณฑ์จะถูกส่งไปยังทีมทดสอบสำหรับกระบวนการทดสอบและตรวจสอบ สุดท้าย ผลิตภัณฑ์ถูกนำไปใช้ (หรือรวมเข้าด้วยกัน) ที่ไซต์ของลูกค้าและโครงการได้รับการลงนาม สิ่งสำคัญที่ควรทราบที่นี่คือแต่ละขั้นตอนจะเสร็จสมบูรณ์ก่อนที่จะไปยังขั้นตอนถัดไป โมเดลนี้เป็นผลโดยตรงจากการปรับวิธีการพัฒนาที่เน้นฮาร์ดแวร์เพียงอย่างเดียว (พบได้ในอุตสาหกรรมการผลิตและการก่อสร้าง) ในขณะที่ยังไม่มีรูปแบบที่เป็นทางการสำหรับการพัฒนาซอฟต์แวร์
RUP คืออะไร
RUP อยู่ในตระกูลวิธีการพัฒนาซอฟต์แวร์แบบวนซ้ำ ได้รับการพัฒนาโดย Rational Software Corporation (ของ IBM) ในปี 2546 อันที่จริงมันเป็นกรอบกระบวนการที่ปรับเปลี่ยนได้ (ไม่ใช่กระบวนการที่เป็นรูปธรรมเดียว) ที่องค์กรพัฒนาสามารถปรับแต่งได้ตามความต้องการ คล้ายกับน้ำตกเล็กน้อย โดยมีขั้นตอนตายตัว เช่น การเริ่มต้น การทำรายละเอียด การก่อสร้าง และการเปลี่ยนแปลง แต่แตกต่างจากน้ำตก RUP เป็นกระบวนการวนซ้ำ กลยุทธ์สามประการที่ RUP จับได้คือกระบวนการที่ปรับแต่งได้ซึ่งจะแนะนำการพัฒนา เครื่องมืออัตโนมัติเพื่อเร่งกระบวนการ และบริการที่ช่วยให้นำกระบวนการและเครื่องมือไปใช้ได้เร็วขึ้น นักศึกษาฝึกงานด้านกลยุทธ์เหล่านี้รวบรวมแนวปฏิบัติที่ดีที่สุด 6 ประการของวิศวกรรมซอฟต์แวร์ (การพัฒนาซ้ำ, ข้อกำหนดในการจัดการ, สถาปัตยกรรมตามส่วนประกอบ, โมเดลซอฟต์แวร์ภาพ, การตรวจสอบอย่างต่อเนื่องและการจัดการการเปลี่ยนแปลง)
วิธีน้ำตกกับ RUP ต่างกันอย่างไร
แม้ว่าวิธีการของ Waterfall และ RUP จะกำหนดเฟสคงที่ แต่ก็มีความแตกต่างที่สำคัญระหว่างสองโมเดลนี้ ความเคารพหลักคือในขณะที่วิธีการของ Waterfall เป็นกระบวนการที่ต่อเนื่องกันอย่างชัดเจนโดยมีขั้นตอนที่กำหนดไว้ซึ่งขั้นตอนปัจจุบันจะเสร็จสิ้นก่อนที่จะไปยังขั้นตอนถัดไป RUP เป็นกระบวนการที่ทำซ้ำ RUP แตกต่างจากวิธีการแบบน้ำตกตรงที่พัฒนาผลิตภัณฑ์ในหลายขั้นตอนตามความคิดเห็นจากผู้ถือหุ้น เนื่องจากการทำซ้ำ RUP แต่ละครั้งจะสร้างรีลีสที่ปฏิบัติการได้ ลูกค้าจึงได้รับผลประโยชน์เร็วกว่า Waterfall มาก สุดท้าย วิธีการของ Waterfall เป็นกระบวนการที่เป็นรูปธรรมในขณะที่ RUP เป็นเฟรมเวิร์กที่ปรับเปลี่ยนได้ของกระบวนการซอฟต์แวร์