โมเดล Waterfall ใน SDLC: ข้อดีและข้อเสีย
⚡ สรุปอย่างชาญฉลาด
โมเดล Waterfall ใน SDLC เป็นวิธีการพัฒนาแบบลำดับขั้นตอนที่แบ่งโครงการออกเป็นขั้นตอนคงที่ โดยแต่ละขั้นตอนจะเสร็จสิ้นก่อนที่ขั้นตอนถัดไปจะเริ่มต้น เอกสารนี้จะอธิบายถึงขั้นตอนต่างๆ วิธีการใช้งาน ข้อดีและข้อเสียของโมเดลนี้

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

ระยะต่างๆ ของแบบจำลองน้ำตกในวิศวกรรมซอฟต์แวร์
ต่อไปนี้เป็นขั้นตอนต่าง ๆ ของโมเดลน้ำตก:
| ขั้นตอนต่างๆ | กิจกรรมที่ทำในแต่ละขั้นตอน |
|---|---|
| ขั้นตอนการรวบรวมความต้องการ |
|
| ขั้นตอนการออกแบบ | |
| เวทีที่สร้างขึ้น | หลังจากขั้นตอนการออกแบบแล้ว ก็จะเป็นขั้นตอนการสร้าง ซึ่งก็คือการเขียนโค้ดซอฟต์แวร์นั่นเอง |
| ขั้นตอนการทดสอบ | ในขั้นตอนนี้ คุณจะทดสอบซอฟต์แวร์เพื่อตรวจสอบว่าซอฟต์แวร์นั้นถูกสร้างขึ้นตามข้อกำหนดที่ลูกค้ากำหนดไว้หรือไม่ |
| ขั้นตอนการปรับใช้ | ติดตั้งแอปพลิเคชันในสภาพแวดล้อมที่เหมาะสม |
| ขั้นตอนการบำรุงรักษา | เมื่อระบบของคุณพร้อมใช้งานแล้ว คุณอาจจำเป็นต้องแก้ไขโค้ดในภายหลังตามคำขอของลูกค้า |
เมื่อใดจึงควรใช้ SDLC Waterfall Model
วิธีการแบบ Waterfall สามารถนำมาใช้ได้ในกรณีต่อไปนี้:
- ข้อกำหนดไม่ได้เปลี่ยนแปลงบ่อยนัก
- แอปพลิเคชันนี้ไม่ซับซ้อนและไม่ใหญ่โต
- โครงการนี้มีระยะเวลาสั้น
- ข้อกำหนดนั้นชัดเจน
- สภาพแวดล้อมมีเสถียรภาพ
- เทคโนโลยีและเครื่องมือที่ใช้ไม่ใช่เทคโนโลยีที่เปลี่ยนแปลงได้ แต่มีความเสถียร
- มีทรัพยากรพร้อมและได้รับการฝึกอบรม
ข้อดีและข้อเสียของแบบจำลองน้ำตก
ต่อไปนี้คือข้อดีที่เป็นที่นิยมของโมเดล Waterfall ใน วิศวกรรมซอฟต์แวร์พร้อมทั้งข้อเสียบางประการ:
| ข้อดี | ข้อเสีย |
|---|---|
| ก่อนที่จะเริ่มขั้นตอนการพัฒนาถัดไป แต่ละขั้นตอนจะต้องเสร็จสมบูรณ์เสียก่อน | ข้อผิดพลาดสามารถแก้ไขได้เฉพาะในระหว่างขั้นตอนเท่านั้น |
| เหมาะสำหรับโครงการขนาดเล็กที่มีข้อกำหนดชัดเจน | วิธีการนี้ไม่เหมาะสมสำหรับโครงการที่ซับซ้อนซึ่งมีการเปลี่ยนแปลงข้อกำหนดบ่อยครั้ง |
| ควรทำการทดสอบการประกันคุณภาพ (การตรวจสอบและการรับรองความถูกต้อง) ก่อนที่จะเสร็จสิ้นแต่ละขั้นตอน | ช่วงเวลาการทดสอบนั้นเกิดขึ้นค่อนข้างช้าในกระบวนการพัฒนา |
| มีการจัดทำเอกสารอย่างละเอียดในทุกขั้นตอนของวงจรการพัฒนาซอฟต์แวร์ | การจัดทำเอกสารใช้เวลาของนักพัฒนาและผู้ทดสอบเป็นจำนวนมาก |
| โครงการนี้ขึ้นอยู่กับทีมงานโครงการโดยสมบูรณ์ โดยมีการแทรกแซงจากลูกค้าน้อยที่สุด | ข้อเสนอแนะอันมีค่าของลูกค้าไม่สามารถนำมาใช้ในระหว่างขั้นตอนการพัฒนาที่กำลังดำเนินอยู่ได้ |
| การเปลี่ยนแปลงใดๆ ในซอฟต์แวร์จะเกิดขึ้นในระหว่างกระบวนการพัฒนา | การเปลี่ยนแปลงเล็กน้อยหรือข้อผิดพลาดที่เกิดขึ้นในซอฟต์แวร์ที่พัฒนาเสร็จแล้ว อาจก่อให้เกิดปัญหามากมาย |
